Es posible utilizar el complemento de Velero para vSphere para realizar una copia de seguridad y una restauración de las cargas de trabajo que se ejecutan en un clúster de TKG 2 mediante la instalación del complemento de Velero para vSphere en ese clúster.

Descripción general

El complemento de Velero para vSphere proporciona una solución para realizar una copia de seguridad y una restauración de las cargas de trabajo de clúster de TKG. Para cargas de trabajo persistentes, el complemento de Velero para vSphere le permite tomar instantáneas de los volúmenes persistentes.
Nota: Si necesita portabilidad para las cargas de trabajo del clúster de TKG 2 que desea restaurar y para las que quiere hacer una copia de seguridad, no utilice el complemento de Velero para vSphere. Para la portabilidad entre clústeres de Kubernetes, utilice Velero independiente con Restic.

Requisito previo: instale el complemento de Velero para vSphere en el Supervisor

Para la instalación del complemento de Velero para vSphere en un clúster de TKG 2, se requiere que el Supervisor tenga instalado el complemento de Velero para vSphere. Además, el Supervisor debe estar configurado con redes de NSX-T.

Consulte la documentación de Mantener vSphere with Tanzu para obtener instrucciones sobre cómo instalar complemento de Velero para vSphere en Supervisor.

Paso 1: Instalar la CLI de Velero en una Workstation de Linux

La CLI de Velero es la herramienta estándar para interactuar con Velero. La CLI de Velero proporciona más funcionalidad que la CLI del complemento de Velero para vSphere (velero-vsphere) y es necesaria para realizar copias de seguridad y restauración de las cargas de trabajo del clúster de Tanzu Kubernetes.

Instale la CLI de Velero en una estación de trabajo Linux. Idealmente, este es el mismo host de salto en el que se ejecutan las CLI asociadas para el entorno de vSphere with Tanzu, incluidos kubectl, kubectl-vsphere y velero-vsphere.

Complete los siguientes pasos para instalar la CLI de Velero.
  1. Descargue la versión compatible de la CLI de Velero desde la página de descargas de productos de VMware. Para obtener más información sobre las versiones de Velero admitidas, consulte Mantener vSphere with Tanzu.
  2. Abra una línea de comandos y cambie el directorio a la descarga de la CLI de Velero.
    gunzip velero-linux-v1.x.x_vmware.1.gz
  3. Compruebe el archivo binario de Velero.
    ls -l
    
    -rw-r--r-- 1 root root 7142128 Aug 14 14:14 velero-linux-v1.x.x_vmware.1
    
  4. Otorgue permisos de ejecución a la CLI de Velero.
    chmod +x velero-linux-v1.x.x_vmware.1
  5. Haga que la CLI de Velero esté disponible globalmente, para ello, muévala a la ruta del sistema.
    cp velero-linux-v1.x.x_vmware.1 /usr/local/bin/velero
  6. Compruebe la instalación de la CLI de Velero.
    velero version
    
    Client:
        Version: v1.x.x

Paso 2: Obtener los detalles del depósito compatible con S3

Para mayor comodidad, los pasos asumen que está utilizando el mismo almacén de objetos compatible con S3 que configuró cuando instaló el complemento de Velero para vSphere en el Supervisor. En producción, es posible que desee crear un almacén de objetos independiente.

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.
aws_access_key_id = ACCESS-KEY-ID-STRING
aws_secret_access_key = SECRET-ACCESS-KEY-STRING

Paso 3: Crear el mapa de configuración del complemento de Velero

En el clúster de TKG, cree un mapa de configuración para el complemento de Velero denominado velero-vsphere-plugin-config.yaml.
apiVersion: v1
kind: ConfigMap
metadata:
  name: velero-vsphere-plugin-config
data:
  cluster_flavor: GUEST
Aplique el mapa de configuración en el clúster de TKG.
kubectl apply -n <velero-namespace> -f velero-vsphere-plugin-config.yaml
Si no instala el mapa de configuración, recibirá el siguiente error cuando intente instalar el complemento de Velero para vSphere.
Error received while retrieving cluster flavor from config, err: configmaps "velero-vsphere-plugin-config" not found
Falling back to retrieving cluster flavor from vSphere CSI Driver Deployment

Paso 4: Instalar el complemento de Velero para vSphere en el clúster de TKG 2

Deberá utilizar la CLI de Velero para instalar el complemento de Velero para vSphere en el clúster de TKG 2 de destino del que desea realizar una copia de seguridad y restauración.

El contexto de la CLI de Velero seguirá automáticamente el contexto de kubectl. Antes de ejecutar los comandos de la CLI de Velero para instalar Velero y el complemento de Velero para vSphere en el clúster de destino, asegúrese de establecer el contexto de kubectl en el clúster de destino.
  1. Utilice el complemento de vSphere para kubectl para autenticarse en el Supervisor.
  2. Establezca el contexto de kubectl en el clúster de TKG 2 de destino.
    kubectl config use-context TARGET-TANZU-KUBERNETES-CLUSTER
  3. Ejecute el siguiente comando de la CLI de Velero para instalar Velero en el clúster de destino.

    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 install --provider aws \
    --bucket BUCKET-NAME \
    --secret-file ./s3-credentials \
    --features=EnableVSphereItemActionPlugin \
    --plugins velero/velero-plugin-for-aws:v1.1.0 \
    --snapshot-location-config region=REGION \
    --backup-location-config region=REGION,s3ForcePathStyle="true",s3Url=http://my-s3-store.example.com
  4. Instale el complemento de Velero para vSphere en el clúster de destino. El Velero instalado se comunicará con el servidor de API de Kubernetes para instalar el complemento.
    velero plugin add vsphereveleroplugin/velero-plugin-for-vsphere:1.1.0

Anexo: Desinstalar el complemento de Velero para vSphere del clúster de TKG 2

Siga estos pasos para desinstalar el complemento de Velero para vSphere.
  1. Establezca el contexto de kubectl en el clúster de destino de Tanzu Kubernetes.
    kubectl config use-context TARGET-TANZU-KUBERNETES-CLUSTER
  2. Para desinstalar el complemento, ejecute el siguiente comando para eliminar el InitContainer de velero-plugin-for-vsphere de la implementación de Velero.
    velero plugin remove vsphereveleroplugin/velero-plugin-for-vsphere:1.1.0
  3. Para completar el proceso, elimine la implementación del controlador de copia de seguridad y los CRD relacionados.
    kubectl -n velero delete deployment.apps/backup-driver
    kubectl delete crds \
    backuprepositories.backupdriver.cnsdp.vmware.com \
    backuprepositoryclaims.backupdriver.cnsdp.vmware.com \
    clonefromsnapshots.backupdriver.cnsdp.vmware.com \
    deletesnapshots.backupdriver.cnsdp.vmware.com \
    snapshots.backupdriver.cnsdp.vmware.com
    kubectl delete crds uploads.datamover.cnsdp.vmware.com downloads.datamover.cnsdp.vmware.com