È possibile utilizzare Plug-in Velero per vSphere per eseguire il backup e il ripristino dei carichi di lavoro in esecuzione in un cluster TKGS installando Plug-in Velero per vSphere in tale cluster.
Panoramica
Prerequisito: installare Plug-in Velero per vSphere in Supervisore
L'installazione di Plug-in Velero per vSphere in un cluster TKGS richiede che nel Supervisore sia installato Plug-in Velero per vSphere. Il Supervisore deve inoltre essere configurato con la rete NSX. Vedere .
Passaggio 1: Installare la CLI di Velero in una workstation Linux
La CLI di Velero è lo strumento standard per l'interazione con Velero. La CLI di Velero offre più funzionalità della CLI di Plug-in Velero per vSphere (velero-vsphere
) ed è necessaria per il backup e il ripristino dei carichi di lavoro dei cluster di Tanzu Kubernetes.
Installare la CLI di Velero in una workstation Linux. È consigliabile utilizzare lo stesso jump host in cui vengono eseguite le CLI associate per l'ambiente di vSphere IaaS control plane, inclusi kubectl
, kubectl-vsphere
e velero-vsphere
.
I numeri di versione di Velero vengono indicati con il formato X.Y.Z
. Fare riferimento alla Matrice di compatibilità di Velero per le versioni specifiche da utilizzare e sostituire di conseguenza quando si eseguono i comandi.
- Eseguire i comandi seguenti:
$ 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
- Verificare l'installazione della CLI di Velero.
velero version Client: Version: vX.Y.Z
Passaggio 2: Recuperare i dettagli del bucket compatibile con S3
Per comodità, i passaggi presuppongono che si stia utilizzando lo stesso archivio di oggetti compatibile con S3 configurato quando è stato installato Plug-in Velero per vSphere nel Supervisore. Nella produzione può essere necessario creare un archivio di oggetti separato.
Elemento dati | Valore di esempio |
---|---|
s3Url |
|
aws_access_key_id | ACCESS-KEY-ID-STRING |
aws_secret_access_key | SECRET-ACCESS-KEY-STRING |
s3-credentials
con le informazioni seguenti. Si farà riferimento a questo file durante l'installazione di
Plug-in Velero per vSphere.
aws_access_key_id = ACCESS-KEY-ID-STRING aws_secret_access_key = SECRET-ACCESS-KEY-STRING
Passaggio 3 Opzione A: installare Plug-in Velero per vSphere nel cluster TKG utilizzando un'etichetta (nuovo metodo)
- Verificare che la posizione di storage del backup sia accessibile.
- Verificare che Servizio supervisore principale dell'operatore Velero vSphere sia attivato.
kubectl get ns | grep velero svc-velero-domain-c9 Active 18d
- Verificare che nel Supervisore sia creato uno spazio dei nomi Kubernetes denominato
velero
.kubectl get ns | grep velero svc-velero-domain-c9 Active 18d velero Active 1s
- Verificare che Plug-in Velero per vSphere Servizio supervisore sia abilitato in Supervisore.
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
- Abilitare Velero per il cluster TKG di destinazione aggiungendo l'etichetta velero al cluster.
kubectl label cluster
CLUSTER-NAME
--namespaceCLUSTER-NS
velero.vsphere.vmware.com/enabled=trueNota: Questa operazione viene eseguita da Spazio dei nomi vSphere quando viene eseguito il provisioning del cluster. - Verificare che Velero sia installato e pronto per il cluster.
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
Passaggio 3 Opzione B: installare manualmente Plug-in Velero per vSphere nel cluster TKG (metodo legacy)
Per installare Plug-in Velero per vSphere nel cluster TKG di destinazione di cui si desidera eseguire il backup e il ripristino, verrà utilizzata la CLI di Velero.
kubectl
. Prima di eseguire i comandi della CLI di Velero per installare Velero e
Plug-in Velero per vSphere nel cluster di destinazione, assicurarsi di impostare il contesto di
kubectl
sul cluster di destinazione.
- Utilizzando Plug-in vSphere per kubectl, eseguire l'autenticazione con il Supervisore.
- Impostare il contesto di
kubectl
nel cluster TKG di destinazione.kubectl config use-context TARGET-TANZU-KUBERNETES-CLUSTER
- Nel cluster TKG, creare una mappa di configurazione per il plug-in Velero denominata
velero-vsphere-plugin-config.yaml
.apiVersion: v1 kind: ConfigMap metadata: name: velero-vsphere-plugin-config data: cluster_flavor: GUEST
Applicare la mappa di configurazione nel cluster TKG.kubectl apply -n <velero-namespace> -f velero-vsphere-plugin-config.yaml
Se non si installa la mappa di configurazione, quando si tenta di installare Plug-in Velero per vSphere viene visualizzato il messaggio di errore seguente.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
- Eseguire il seguente comando della CLI di Velero per installare Velero nel cluster di destinazione.
Sostituire i valori dei segnaposto per i campi BUCKET-NAME, REGION (due istanze) e s3Url con i valori appropriati. Se una delle istruzioni precedenti non è stata seguita, modificare anche tali valori, ad esempio il nome o la posizione del file dei segreti, il nome dello spazio dei nomi
velero
creato manualmente e così via../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
- Installare Plug-in Velero per vSphere nel cluster di destinazione. L'istanza di Velero installata comunicherà con il server dell'API Kubernetes per installare il plug-in.
velero plugin add vsphereveleroplugin/velero-plugin-for-vsphere:vX.Y.Z
Addendum: Disinstallare Plug-in Velero per vSphere dal cluster TKG
- Impostare il contesto di
kubectl
nel cluster di Tanzu Kubernetes di destinazione.kubectl config use-context TARGET-TANZU-KUBERNETES-CLUSTER
- Per disinstallare il plug-in, eseguire il comando seguente per rimuovere InitContainer di velero-plugin-for-vsphere dalla distribuzione di Velero.
velero plugin remove vsphereveleroplugin/velero-plugin-for-vsphere:vX.Y.Z
- Per completare il processo, eliminare la distribuzione del driver di backup e i relativi CRD.
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