Vous pouvez utiliser le Plug-in Velero pour vSphere pour sauvegarder et restaurer des charges de travail exécutées sur un cluster TKGS en installant le Plug-in Velero pour vSphere sur ce cluster.
Présentation
Condition préalable : installez le Plug-in Velero pour vSphere sur le Superviseur
L'installation du Plug-in Velero pour vSphere sur un cluster TKGS nécessite que le Superviseur soit installé sur le Plug-in Velero pour vSphere. En outre, le Superviseur doit être configuré avec la mise en réseau NSX. Reportez-vous à la section .
Étape 1 : installer la CLI Velero sur un poste de travail Linux
La CLI Velero est l'outil standard pour l'interfaçage avec Velero. La CLI Velero offre plus de fonctionnalités que la CLI Plug-in Velero pour vSphere (velero-vsphere
) et est requise pour la sauvegarde et la restauration de charges de travail de cluster Tanzu Kubernetes.
Installez la CLI Velero sur un poste de travail Linux. Idéalement, il s'agit du même hôte intermédiaire que celui sur lequel vous exécutez les CLI associées pour votre environnement vSphere IaaS control plane, y compris kubectl
, kubectl-vsphere
et velero-vsphere
.
Les numéros de version de Velero sont présentés sous la forme X.Y.Z
. Reportez-vous à la matrice de compatibilité Velero pour connaître les versions spécifiques à utiliser et remplacez-les en conséquence lors de l'exécution des commandes.
- Exécutez les commandes suivantes :
$ 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
- Vérifiez l'installation de la CLI Velero.
velero version Client: Version: vX.Y.Z
Étape 2 : obtenir les détails du compartiment compatible S3
Pour des raisons de commodité, les étapes supposent que vous utilisez le même magasin d'objets compatible S3 que celui que vous avez configuré lors de l'installation de Plug-in Velero pour vSphere sur le Superviseur. En production, vous souhaiterez peut-être créer un magasin d'objets séparé.
Élément de données | Valeur d'exemple |
---|---|
s3Url |
|
aws_access_key_id | ACCESS-KEY-ID-STRING |
aws_secret_access_key | SECRET-ACCESS-KEY-STRING |
s3-credentials
avec les informations suivantes. Vous référencerez ce fichier lorsque vous installerez le
Plug-in Velero pour vSphere.
aws_access_key_id = ACCESS-KEY-ID-STRING aws_secret_access_key = SECRET-ACCESS-KEY-STRING
Étape 3 Option A : installer le Plug-in Velero pour vSphere sur le cluster TKG à l'aide d'une étiquette (nouvelle méthode)
- Vérifiez que l'emplacement de stockage de sauvegarde est accessible.
- Vérifiez que le Service de superviseur Velero vSphere Operator Core est activé.
kubectl get ns | grep velero svc-velero-domain-c9 Active 18d
- Vérifiez qu'un espace de noms Kubernetes nommé
velero
est créé sur le Superviseur.kubectl get ns | grep velero svc-velero-domain-c9 Active 18d velero Active 1s
- Vérifiez que le Service de superviseur du Plug-in Velero pour vSphere est activé sur le Superviseur.
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
- Activez Velero pour le cluster TKG cible en ajoutant l'étiquette velero au cluster.
kubectl label cluster
CLUSTER-NAME
--namespaceCLUSTER-NS
velero.vsphere.vmware.com/enabled=trueNote : Cela est effectué à partir de l' Espace de noms vSphere lorsque le cluster est provisionné. - Vérifiez que Velero est installé et prêt pour le 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
Étape 3 Option B : installer manuellement le Plug-in Velero pour vSphere sur le cluster TKG (méthode héritée)
Vous allez utiliser la CLI Velero pour installer le Plug-in Velero pour vSphere sur le cluster TKG cible que vous souhaitez sauvegarder et restaurer.
kubectl
. Avant d'exécuter des commandes de la CLI Velero pour installer Velero et le
Plug-in Velero pour vSphere sur le cluster cible, veillez à définir le contexte de
kubectl
sur le cluster cible.
- À l'aide du Plug-in vSphere pour kubectl, authentifiez-vous dans le Superviseur.
- Définissez le contexte
kubectl
sur le cluster TKG cible.kubectl config use-context TARGET-TANZU-KUBERNETES-CLUSTER
- Sur le cluster TKG, créez un configmap pour le plug-in Velero nommé
velero-vsphere-plugin-config.yaml
.apiVersion: v1 kind: ConfigMap metadata: name: velero-vsphere-plugin-config data: cluster_flavor: GUEST
Appliquez le configmap sur le cluster TKG.kubectl apply -n <velero-namespace> -f velero-vsphere-plugin-config.yaml
Si vous n'installez pas le configmap, vous recevez l'erreur suivante lorsque vous tentez d'installer le Plug-in Velero pour 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
- Exécutez la commande CLI Velero suivante pour installer Velero sur le cluster cible.
Remplacez les valeurs d'espace réservé des champs BUCKET-NAME, REGION (deux instances) et s3Url par les valeurs appropriées. Si vous vous écartez de l'une des instructions précédentes, ajustez également ces valeurs, telles que le nom ou l'emplacement du fichier de secrets, le nom de l'espace de noms
velero
créé manuellement, 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
- Installez le Plug-in Velero pour vSphere sur le cluster cible. L'instance de Velero installée communiquera avec le serveur d'API Kubernetes pour installer le plug-in.
velero plugin add vsphereveleroplugin/velero-plugin-for-vsphere:vX.Y.Z
Addendum : Désinstaller le Plug-in Velero pour vSphere du cluster TKG
- Définissez le contexte
kubectl
sur le cluster Tanzu Kubernetes cible.kubectl config use-context TARGET-TANZU-KUBERNETES-CLUSTER
- Pour désinstaller le plug-in, exécutez la commande suivante pour supprimer InitContainer de velero-plugin-for-vsphere du déploiement Velero.
velero plugin remove vsphereveleroplugin/velero-plugin-for-vsphere:vX.Y.Z
- Pour terminer le processus, supprimez le déploiement du pilote de sauvegarde et les CRD associés.
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