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 TKGS mediante la instalación del complemento de Velero para vSphere en ese clúster.
Descripción general
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 TKGS, se requiere que el Supervisor tenga instalado el complemento de Velero para vSphere. Además, Supervisor debe estar configurado con redes NSX. Consulte .
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 IaaS control plane, incluidos kubectl
, kubectl-vsphere
y velero-vsphere
.
Los números de versión de Velero se presentan como X.Y.Z
. Consulte la Matriz de compatibilidad de Velero para ver las versiones específicas que deben utilizarse y sustitúyalas según corresponda al ejecutar los comandos.
- Ejecute los siguientes comandos:
$ wget https://github.com/vmware-tanzu/velero/releases/download/vX.Y.Z/velero-vX.Y.Z-linux-amd64.tar.gz $ gzip -d velero-vX.Y.Z-linux-amd64.tar.gz && tar -xvf velero-vX.Y.Z-linux-amd64.tar $ export PATH="$(pwd)/velero-vX.Y.Z-linux-amd64:$PATH" $ which velero /root/velero-vX.Y.Z-linux-amd64/velero
- Compruebe la instalación de la CLI de Velero.
velero version Client: Version: vX.Y.Z
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.
Elemento de datos | Valor de ejemplo |
---|---|
s3Url |
|
aws_access_key_id | ACCESS-KEY-ID-STRING |
aws_secret_access_key | SECRET-ACCESS-KEY-STRING |
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 Opción A: Instalar complemento de Velero para vSphere en el clúster de TKG con una etiqueta (nuevo método)
- Compruebe que se pueda acceder a la ubicación de almacenamiento de la copia de seguridad.
- Compruebe que esté activada la función servicio de supervisor de Velero vSphere Operator Core.
kubectl get ns | grep velero svc-velero-domain-c9 Active 18d
- Compruebe que se haya creado un espacio de nombres de Kubernetes con el nombre
velero
en Supervisor.kubectl get ns | grep velero svc-velero-domain-c9 Active 18d velero Active 1s
- Compruebe que servicio de supervisor de complemento de Velero para vSphere esté habilitado en Supervisor.
velero version Client: Version: v1.11.1 Git commit: bdbe7eb242b0f64d5b04a7fea86d1edbb3a3587c Server: Version: v1.11.1
kubectl get veleroservice -A NAMESPACE NAME AGE velero default 53m
velero backup-location get NAME PROVIDER BUCKET/PREFIX PHASE LAST VALIDATED ACCESS MODE DEFAULT default aws velero Available 2023-11-20 14:10:57 -0800 PST ReadWrite true
- Agregue la etiqueta velero al clúster a fin de habilitar Velero para el clúster de TKG de destino.
kubectl label cluster
CLUSTER-NAME
--namespaceCLUSTER-NS
velero.vsphere.vmware.com/enabled=trueNota: Esto se realiza desde espacio de nombres de vSphere cuando se aprovisiona el clúster. - Compruebe que Velero esté instalado y listo para el clúster.
kubectl get ns NAME STATUS AGE ... velero Active 2m <-- velero-vsphere-plugin-backupdriver Active 2d23h
kubectl get all -n velero NAME READY STATUS RESTARTS AGE pod/backup-driver-5945d6bcd4-gtw9d 1/1 Running 0 17h pod/velero-6b9b49449-pq6b4 1/1 Running 0 18h NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/backup-driver 1/1 1 1 17h deployment.apps/velero 1/1 1 1 18h NAME DESIRED CURRENT READY AGE replicaset.apps/backup-driver-5945d6bcd4 1 1 1 17h replicaset.apps/velero-6b9b49449 1 1 1 18h
velero version Client: Version: v1.11.1 Git commit: bdbe7eb242b0f64d5b04a7fea86d1edbb3a3587c Server: Version: v1.11.1
Paso 3 Opción B: Instalar complemento de Velero para vSphere en el clúster de TKG manualmente (método heredado)
Deberá utilizar la CLI de Velero para instalar el complemento de Velero para vSphere en el clúster de TKG de destino del que desea realizar una copia de seguridad y restauración.
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.
- Utilice el complemento de vSphere para kubectl para autenticarse en el Supervisor.
- Establezca el contexto de
kubectl
en el clúster de TKG de destino.kubectl config use-context TARGET-TANZU-KUBERNETES-CLUSTER
- 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
- 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:vX.Y.Z \ --snapshot-location-config region=REGION \ --backup-location-config region=REGION,s3ForcePathStyle="true",s3Url=http://my-s3-store.example.com
- 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:vX.Y.Z
Anexo: Desinstalar el complemento de Velero para vSphere del clúster de TKG
- Establezca el contexto de
kubectl
en el clúster de destino de Tanzu Kubernetes.kubectl config use-context TARGET-TANZU-KUBERNETES-CLUSTER
- 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:vX.Y.Z
- 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