Puede utilizar el complemento de Velero para vSphere para realizar copias de seguridad y restauración de cargas de trabajo que se ejecutan en pods de vSphere mediante la instalación del complemento de Velero para vSphere en el Supervisor.

Descripción general

El complemento de Velero para vSphere proporciona una solución para hacer copias de seguridad y restauración de cargas de trabajo de vSphere with Tanzu. La solución requiere la instalación y configuración de varios componentes. Una vez que haya instalado y configurado el complemento de Velero para vSphere en el Supervisor, puede realizar copias de seguridad y restauración de pods de vSphere. Para cargas de trabajo persistentes, el complemento de Velero para vSphere le permite tomar instantáneas de los volúmenes persistentes.

La instalación del complemento de Velero para vSphere en el Supervisor también es un requisito previo para usar el complemento de Velero para vSphere para realizar una copia de seguridad y restauración de cargas de trabajo del clúster de Tanzu Kubernetes.
Nota: El complemento de Velero para vSphere no se puede utilizar para realizar copias de seguridad y restauración del estado del Supervisor. Consulte Consideraciones para realizar copias de seguridad y restaurar vSphere with Tanzu.
Nota: El complemento de Velero para vSphere por sí mismo no realiza copias de seguridad incrementales. Dell EMC PowerProtect admite copias de seguridad incrementales y aprovecha Velero y el complemento de Velero para vSphere.

Requisitos previos

Antes de instalar el complemento de Velero para vSphere, cumpla con los siguientes requisitos previos:
  • El Supervisor es versión 1.21.1 o posterior.
  • Se crea y se configura el espacio de nombres de vSphere.
  • Debe ser miembro de la función de administrador de vSphere o tener los siguientes privilegios de vSphere:
    • SupervisorServices.Manage
    • Namespaces.Manage
    • Namespaces.Configure
La captura de pantalla muestra el estado final de una instalación de complemento de Velero para vSphere.
  • Las redes NSX se utilizan para admitir la implementación de pods de vSphere
  • Se implementa una máquina virtual de Data Manager
  • El operador Velero está habilitado y en ejecución en el espacio de nombres velero-vsphere-domain-cXX
  • Se configura un espacio de nombres denominado velero
  • El complemento de Velero para vSphere se ejecuta como un pod de vSphere en el espacio de nombres velero

La captura de pantalla muestra el complemento de Velero en vSphere Client.

Actualizaciones

Estas instrucciones asumen que está ejecutando vSphere 8. Si instaló previamente el complemento de Velero para vSphere en un entorno vSphere 7 U3, al actualizar, la máquina virtual de Data Manager y Velero vSphere Operator se migrarán al nuevo marco. Velero vSphere Operator se convierte al nuevo formato de servicios de vSphere. No es necesaria ninguna acción.

Crear una red dedicada para el tráfico de copia de seguridad y restauración (opcional)

Aunque no es necesario, se recomienda que, para los entornos de producción, separe el tráfico de copia de seguridad y restauración del tráfico de red de administración de vSphere with Tanzu. Existen dos aspectos que se deben considerar sobre esto:
  • Etiquete los hosts ESXi para admitir la copia de archivo de red (Network File Copy, NFC)
  • Configure la red de copia de seguridad y restauración mediante NSX-T Data Center

Para configurar hosts ESXi de vSphere 8 de modo que admitan un transporte de dispositivo de bloques de red (Network Block Device, NBD) dedicado, agregue una NIC de VMkernel en cada host ESXi del clúster de vSphere en el que esté habilitada Administración de cargas de trabajo y establezca vSphereBackupNFC en esa NIC. Cuando se aplica la etiqueta vSphereBackupNFC al tipo de NIC para un adaptador de VMkernel, el tráfico de copia de seguridad y restauración pasa por la NIC virtual elegida.

Para realizar esta configuración, utilice Virtual Disk Development Kit. Consulte la documentación del NBD.
Nota: Si la vSphereBackupNFC no está habilitada en la NIC de VMkernel, el tráfico de copia de seguridad y restauración no se enviará a la red de copia de seguridad y restauración, aunque configure una. Si no se habilita vSphereBackupNFC, el tráfico viajará por la red de administración de vSphere.
Una vez habilitada la etiqueta de vSphereBackupNFC, configure la red de copia de seguridad y restauración mediante NSX-T; para ello, actualice el conmutador distribuido de vSphere (vSphere Distributed Switch, vDS) existente para el clúster de la siguiente manera:
  • En vSphere Client, seleccione Menú > Redes.
  • Seleccione el vDS existente para el clúster.
  • Haga clic con el botón secundario en el vDS y seleccione Grupo de puertos distribuidos > Nuevo grupo de puertos distribuidos.
  • Cree un nuevo grupo de puertos distribuidos denominado BackupRestoreNetwork.
  • Agregue un adaptador de VMkernel al grupo de puertos distribuidos BackupRestoreNetwork.
  • Asocie todos los hosts ESXi del clúster de vCenter en el que la Administración de cargas de trabajo está habilitada al grupo de puertos distribuidos BackupRestoreNetwork.
  • Habilite la etiqueta vSphereBackupNFC.

Para obtener instrucciones sobre cómo crear una red NSX en el vDS existente, consulte Instalar y configurar NSX for vSphere with Tanzu.

Crear un almacén de objetos compatible con S3

Para realizar copias de seguridad y restauraciones de volúmenes persistentes, debe proporcionar un almacén de objetos compatible con S3. Velero admite varios proveedores de almacenes objetos.

Para instalar el complemento de Velero para vSphere, deberá proporcionar la siguiente información sobre el almacén de objetos compatible con S3:

Elemento de datos Valor de ejemplo
s3Url http://my-s3-store.example.com
aws_access_key_id ACCESS-KEY-ID-STRING
aws_secret_access_key SECRET-ACCESS-KEY-STRING
Cree un nombre de archivo de secretos s3-credentials con la siguiente información. Debe hacer referencia a este archivo cuando instale el complemento de Velero para vSphere.
[default]
aws_access_key_id = ACCESS-KEY-ID-STRING
aws_secret_access_key = SECRET-ACCESS-KEY-STRING

MinIO es un almacén de objetos compatible con S3 que es fácil de instalar y utilizar. vSphere with Tanzu se incluye con un servicio de supervisor de MinIO que puede habilitar. Para obtener más información, consulte Habilitar servicios con estado en vSphere with Tanzu.

Como alternativa, puede instalar manualmente un servidor MinIO en una máquina virtual Linux. Para obtener instrucciones, consulte Instalar y configurar Velero y Restic independientes en clústeres de TKG 2 en Supervisor.

Instalar y configurar el administrador de datos

Para facilitar la copia de seguridad y la restauración mediante el complemento de Velero para vSphere, implemente una o varias máquinas virtuales de Data Manager para mover los datos de copia de seguridad de volúmenes persistentes dentro y fuera del almacenamiento de objetos compatible con S3. Data Manager mueve los datos de instantáneas de volumen desde el volumen de vSphere hasta el almacenamiento compatible con S3 remoto y durable en la copia de seguridad, y desde el almacenamiento compatible con S3 remoto hasta un volumen de vSphere durante la restauración.

En un entorno de vSphere with Tanzu, instale Data Manager como máquina virtual.
Nota: No encienda la máquina virtual de Data Manager hasta que haya habilitado operador para vSphere de Velero.
  1. Descargue el OVA de Data Manager:

    https://vsphere-velero-datamgr.s3-us-west-1.amazonaws.com/datamgr-ob-17253392-photon-3-release-1.1.ova

  2. Con vSphere Client, haga clic con el botón secundario en el centro de datos en el que está habilitada la Administración de cargas de trabajo y seleccione Implementar plantilla de OVF.
  3. Seleccione el archivo OVA de Data Manager que descargó y cárguelo en el vCenter Server.
  4. Asigne un nombre a la máquina virtual, como DataManager, por ejemplo.
  5. Seleccione el recurso informático que es el clúster de vSphere en el que está configurado el Supervisor.
  6. Revise los detalles de la implementación de la máquina virtual y haga clic en Siguiente.
  7. Acepte los acuerdos de licencia y haga clic en Siguiente.
  8. Seleccione el almacenamiento y haga clic en Siguiente.
  9. Seleccione la red de destino para la máquina virtual de Data Manager.
  10. Confirme las selecciones y haga clic en Finalizar para completar el proceso.
  11. Utilice el panel Tareas recientes para supervisar el progreso de la implementación.
    Nota: Si recibe un error que indica "el descriptor de OVF no está disponible", utilice el navegador Chrome.
  12. Una vez implementada la máquina virtual de Data Manager, configure los parámetros de entrada de la máquina virtual.
  13. Haga clic con el botón secundario en la máquina virtual y seleccione Editar configuración.
  14. En la pestaña Hardware virtual, para Unidad de CD/DVD, cambie de Dispositivo host a Dispositivo cliente.
    Nota: Si no lo hace, no podrá guardar las opciones de configuración avanzada requeridas.
  15. En la pestaña Editar configuración > Opciones de máquina virtual, seleccione Avanzado > Editar parámetros de configuración.
  16. Configure los parámetros de entrada para cada una de las siguientes opciones:
    Parámetro Valor
    guestinfo.cnsdp.vcUser Introduzca el nombre de usuario de vCenter Server con privilegios suficientes para implementar máquinas virtuales.
    guestinfo.cnsdp.vcAddress Introduzca la dirección IP o el FQDN de vCenter Server.
    guestinfo.cnsdp.vcPasswd Introduzca la contraseña de usuario vCenter Server.
    guestinfo.cnsdp.vcPort El valor predeterminado es 443. No cambie este valor.
    guestinfo.cnsdp.wcpControlPlaneIP Introduzca la dirección IP de Supervisor.

    Para obtener este valor, desplácese hasta el clúster de vCenter donde está habilitada la Administración de cargas de trabajo y seleccione Configurar > Espacios de nombres > Red > Red de administración > Dirección IP inicial

    guestinfo.cnsdp.updateKubectl El valor predeterminado es false. No cambie este valor.
    guestinfo.cnsdp.veleroNamespace El valor predeterminado es velero y debe dejarlo así a menos que tenga una razón de peso para cambiarlo. Más adelante en el proceso, debe crear un espacio de nombres de vSphere en el clúster supervisor con el nombre velero. Estos nombres deben coincidir.
    guestinfo.cnsdp.datamgrImage Si no está configurado (sin configurar), el sistema extraerá de forma predeterminada la imagen de contenedor de Docker Hub en vsphereveleroplugin/data-manager-for-plugin:1.1.0
  17. Haga clic en Aceptar para guardar la configuración y en Aceptar nuevamente para guardar la configuración de la máquina virtual.
    Nota: Si no cambió la unidad de CD/DVD de Dispositivo host a Dispositivo cliente, no podrá guardar la configuración. Si este es el caso, cancele la operación, cambie la unidad y repita los ajustes de configuración avanzada.
  18. No encienda la máquina virtual de Data Manager hasta después de habilitar operador para vSphere de Velero (siguiente sección).

Instalar el servicio operador para vSphere de Velero en el Supervisor

vSphere with Tanzu proporciona operador para vSphere de Velero como servicio de supervisor. El servicio operador para vSphere de Velero funciona con el complemento de Velero para vSphere para admitir la copia de seguridad y la restauración de cargas de trabajo de Kubernetes, incluida la creación de instantáneas de volúmenes persistentes. Para obtener más información sobre los servicios de supervisor, consulte Administrar servicios de supervisor con vSphere with Tanzu.

Complete la siguiente operación para registrar la especificación de Velero vSphere Operator con vCenter Server, donde Administración de cargas de trabajo está habilitada, y para instalar el Velero vSphere Operator como un servicio en el Supervisor.
Nota: El Velero vSphere Operator se ejecuta como un pod de vSphere y requiere redes NSX-T.
  1. Descargue el YAML de Velero vSphere Operator de la siguiente ubicación:

    http://vmware.com/go/supervisor-service

    El archivo de especificación de servicio se denomina velero-supervisorservice-1.0.0.yaml.

  2. En el menú Inicio de vSphere Client, seleccione Administración de cargas de trabajo.
  3. Seleccione la pestaña Servicios.
  4. Seleccione la instancia de vCenter Server de destino en el menú desplegable de la parte superior.
  5. Arrastre y suelte el archivo de especificación de servicio velero-supervisorservice-1.0.0.yaml que descargó en la tarjeta Agregar nuevo servicio.

    También puede hacer clic en Agregar y buscar y seleccionar el archivo velero-supervisorservice-1.0.0.yaml.

  6. Haga clic en Siguiente y acepte el contrato de licencia.
  7. Haga clic en Finalizar.

    El Velero vSphere Operator está registrado en vCenter Server. Compruebe que el servicio esté en un estado Activo. No puede instalar el servicio si está desactivado.

  8. Busque la especificación de Velero vSphere Operator en la pestaña Servicios.
  9. Haga clic en Acciones > Instalar en supervisores.
  10. Seleccione el Supervisor de destino donde desea instalar el servicio.
    Nota: Si no ve su Supervisor, compruebe que esté utilizando redes NSX.
  11. Configure el servicio Velero vSphere Operator de la siguiente manera:
    1. Seleccione la versión en el menú desplegable: 1.1.0.
    2. No especifique un Endpoint de repositorio.
    3. No introduzca un nombre de usuario o contraseña.
    4. Haga clic en Siguiente.
  12. Haga clic en Finalizar para completar la instalación del servicio.

Compruebe el servicio Velero vSphere Operator en el Supervisor e inicie la máquina virtual de Data Manager.

  1. En el menú Inicio de vSphere Client, seleccione Administración de cargas de trabajo.
  2. Haga clic en la pestaña Supervisores y seleccione Supervisor donde instaló Velero vSphere Operator.
  3. Haga clic en la pestaña Configurar y en Descripción general, en Servicios de supervisor.
  4. Compruebe que puede ver que Velero vSphere Operator está instalado y que su estado es Configurado.
  5. En la pestaña Espacios de nombres, compruebe que ve un nuevo espacio de nombres denominado svc-velero-vsphere-domain-xxx, donde xxx es un token alfanumérico único. Este es el espacio de nombres que crea el sistema para Velero vSphere Operator.
    Nota: No es necesario configurar este espacio de nombres y no debe editarlo.
  6. En la vista Hosts y clústeres, seleccione la máquina virtual de Data Manager.
  7. Haga clic con el botón secundario en la máquina virtual de Data Manager y enciéndala.

Crear un espacio de nombres de vSphere para el complemento de Velero para vSphere

Con vSphere Client, cree manualmente un espacio de nombres de vSphere en el Supervisor. Este espacio de nombres es obligatorio para el complemento de Velero para vSphere. Para obtener instrucciones, consulte Crear y configurar un espacio de nombres de vSphere.
  • Denomine al espacio de nombres velero.
  • Seleccione el espacio de nombres velero y configúrelo.
  • Especifique el almacenamiento para el espacio de nombres velero.
  • Otorgue a un usuario con los privilegios adecuados el permiso Editar en el espacio de nombres velero.

Instalar el complemento de Velero para vSphere

Ahora ya está listo para instalar el complemento de Velero para vSphere. Para ello, descargue y ejecute la CLI velero-vsphere.
Nota: Este procedimiento requiere una máquina virtual Linux. Debe descargar y ejecutar velero-vsphere en el host de salto de Linux en el que ejecuta las CLI kubectl-vsphere y kubectl.
  1. Cree una máquina virtual Linux donde pueda ejecutar la CLI. O bien, utilice un host de salto de Linux existente en el que acceda al Supervisor.
  2. Descargue la CLI de complemento de Velero para vSphere desde la siguiente ubicación:

    https://github.com/vmware-tanzu/velero-plugin-for-vsphere/releases/download/v1.1.0/velero-vsphere-1.1.0-linux-amd64.tar.gz

  3. Copie de forma segura la CLI en el host de salto de Linux. Por ejemplo:
    pscp -P 22 C:\temp\velero-vsphere-1.1.0-linux-amd64.tar.gz [email protected]:/home/ubuntu/tanzu
  4. Extraiga la CLI velero-vsphere y haga que permita escritura.
    tar -xf velero-vsphere-1.1.0-linux-amd64.tar.gz
    chmod +x velero-vsphere
  5. Cree el archivo s3-credentials con el siguiente contenido.
    aws_access_key_id = ACCESS-KEY-ID-STRING
    aws_secret_access_key = SECRET-ACCESS-KEY-STRING
  6. Obtenga la región, la URL y el nombre del depósito para el almacén de objetos compatible con S3.
  7. Inicie sesión en Supervisor mediante complemento de vSphere para kubectl.
  8. Cambie el contexto al Supervisor.
    kubectl config use-context SUPERVISOR-CLUSTER-IP-ADDRESS
  9. En el espacio de nombres velero que creó, instale un archivo de asignación de configuración que especifique SUPERVISOR como el tipo del clúster en el que se instalará complemento de Velero para vSphere.
    % cat <<EOF | kubectl -n velero apply -f -
    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: velero-vsphere-plugin-config
    data:
      cluster_flavor: SUPERVISOR
    EOF
  10. Ejecute el siguiente comando de la CLI velero-vsphere para instalar el complemento de Velero para vSphere en el espacio de nombres velero.

    Reemplace los valores de marcador de posición de los campos BUCKET-NAME, REGION (dos instancias) y s3Url con los valores adecuados. Si se desvió de cualquiera de las instrucciones anteriores, ajuste también esos valores, como el nombre o la ubicación del archivo de secretos, el nombre del espacio de nombres velero creado manualmente, etc.

    ./velero-vsphere install \
        --namespace velero \
        --image velero/velero:v1.5.1 \
        --provider aws \
        --plugins velero/velero-plugin-for-aws:v1.1.0,vsphereveleroplugin/velero-plugin-for-vsphere:1.1.0 \
        --bucket BUCKET-NAME \
        --secret-file s3-credentials \
        --snapshot-location-config region=REGION \
        --backup-location-config region=REGION,s3ForcePathStyle="true",s3Url=http://my-s3-store.example.com
    Nota: Puede utilizar complemento de Velero para vSphere v1.1.0 y versiones posteriores en el Supervisor, por ejemplo, vsphereveleroplugin/velero-plugin-for-vsphere:v1.1.1 o vsphereveleroplugin/velero-plugin-for-vsphere:v1.2.0. La versión de Velero debe ser v1.5.1 ( velero/velero:v1.5.1).
  11. Compruebe que la instalación del complemento de Velero para vSphere se haya realizado correctamente.
    Cuando la instalación se realiza correctamente, debería ver el siguiente mensaje:
    Send the request to the operator about installing Velero in namespace velero
    Ejecute el siguiente comando para realizar una verificación adicional. Debería ver "Completado" y la versión.
    kubectl -n velero get veleroservice default -o json | jq '.status'
    Resultado esperado:
    {
      "enabled": true,
      "installphase": "Completed",
      "version": "v1.5.1"
    }
    Nota: El comando anterior asume que tiene instalada la utilidad jq, que formatea la salida JSON enviada al terminal. Si no tiene jq instalada, instálela o elimine esa parte del comando (todo después de json).
  12. Solucione problemas según sea necesario.

    Si la instalación no se realiza correctamente, elimine la instalación e inténtelo de nuevo. Para eliminar la instalación, complete los pasos de la siguiente sección en el orden indicado.

Instalar el complemento de Velero en un entorno aislado

Si tiene pensado instalar el complemento de Velero para vSphere en un entorno aislado, debe hacerlo con imágenes personalizadas. Debe asegurarse de que las imágenes coincidentes de backup-driver y data-manager-for-plugin de las imágenes personalizadas estén disponibles en el registro esperado y que se pueda acceder a ellas desde el clúster de Kubernetes. En un entorno aislado, se esperan imágenes personalizadas del registro privado, ya que no es posible acceder a las imágenes publicadas en Docker Hub.

Para instalar el complemento, realice los siguientes pasos:
  1. Descargue las imágenes publicadas de velero-plugin-for-vsphere, backup-driver y data-manager-for-plugin.
  2. Cambie el nombre de las imágenes; es decir, etiquételas con los <Registry endpoint and path> y <Version tag> coincidentes y cárguelas en los repositorios personalizados.
  3. Instale el complemento utilizando la imagen velero-plugin-for-vsphere que personalizó.

    Cuando instale el complemento de Velero para vSphere en un clúster básico, se implementan dos componentes adicionales: una implementación de backup-driver y un DaemonSet de data-manager-for-plugin en segundo plano. En los clústeres de Tanzu Kubernetes y el Supervisor, solo se procede con una implementación de backup-driver.

    Cuando se proporciona la imagen de contenedor de velero-plugin-for-vsphere, las imágenes de backup-driver y data-manager-for-plugin coincidentes se analizan mediante un mecanismo de análisis de imágenes.

    Las imágenes de contenedor se formalizan con el siguiente patrón:
    <Registry endpoint and path>/<Container name>:<Version tag>

    Cuando se proporciona la imagen de contenedor de velero-plugin-for-vsphere, se analizan las imágenes correspondientes de backup-driver y data-manager-for-plugin con las coincidentes de <Registry endpoint and path> y <Version tag>.

    Por ejemplo, tenga en cuenta la siguiente imagen de contenedor de velero-plugin-for-vsphere:
    abc.io:8989/x/y/.../z/velero-plugin-for-vsphere:vX.Y.Z
    Se espera que se extraigan las siguientes imágenes coincidentes de backup-driver y data-manager-for-plugin:
    abc.io:8989/x/y/.../z/backup-driver:vX.Y.Z
    abc.io:8989/x/y/.../z/data-manager-for-plugin:vX.Y.Z
  4. Solucione los problemas de la instalación.
    Si se produce algún problema o error al analizar las imágenes coincidentes de backup-driver y data-manager-for-plugin, la instalación recurre a las imágenes correspondientes de los repositorios oficiales de velerovsphereplugin en Docker Hub. Los siguientes problemas activan el mecanismo de reserva:
    1. En la entrada del usuario, se utiliza un nombre de contenedor inesperado en la imagen de velero-plugin-for-vsphere personalizada.

      Por ejemplo, se utiliza x/y/velero-velero-plugin-for-vsphere:v1.1.1.

    2. El nombre de la implementación de Velero se personaliza con cualquier otra opción que no sea velero. Por ejemplo, se activa un problema si el nombre de la implementación de Velero se actualiza a velero-server en el archivo manifests de Velero antes de implementar Velero.

      El mecanismo de análisis de imágenes que hay actualmente en velero-plugin-for-vsphere solo puede reconocer la implementación de Velero con el nombre fijo, velero.

Desinstale el complemento de Velero para vSphere

Siga estos pasos para desinstalar el complemento de Velero para vSphere. Realice los pasos en el orden mencionado.
  1. Ejecute la CLI velero-vsphere para desinstalar el complemento de Velero para vSphere.
    ./velero-vsphere uninstall -n velero
  2. Compruebe que se haya eliminado el pod de vSphere denominado velero.
    kubectl get pods -n velero

    Si ve que el pod está "Finalizando", espere a que se elimine antes de continuar.

  3. Con vSphere Client, elimine el espacio de nombres de vSphere denominado velero que creó manualmente.
    Nota: No continúe con el siguiente paso hasta que se complete la eliminación del espacio de nombres. Puede utilizar kubectl para comprobar que se eliminó el espacio de nombres velero (pero no utilice kubectl para eliminar el espacio de nombres velero).
  4. Con vSphere Client, desinstale Velero vSphere Operator del Supervisor.
    1. Seleccione el clúster de vCenter en el que está habilitada Administración de cargas de trabajo.
    2. Seleccione Configurar > Servicios de vSphere > Descripción general.
    3. Seleccione Velero vSphere Operator.
    4. Haga clic en Desinstalar.

      Con esta acción, se desinstala Velero vSphere Operator del Supervisor. El operador permanece disponible para volverlo a instalar en la página Administración de cargas de trabajo > Servicios. Para eliminar el servicio por completo, seleccione Acciones > Eliminar.