Vous pouvez utiliser le Plug-in Velero pour vSphere pour sauvegarder et restaurer des charges de travail exécutées sur un cluster TKG 2 en installant le Plug-in Velero pour vSphere sur ce cluster.

Présentation

Le Plug-in Velero pour vSphere fournit une solution pour la sauvegarde et la restauration des charges de travail de cluster TKG. Pour les charges de travail persistantes, le Plug-in Velero pour vSphere vous permet de prendre des snapshots des volumes persistants.
Note : Si vous avez besoin d'une portabilité pour les charges de travail de cluster TKG 2 que vous souhaitez sauvegarder et restaurer, n'utilisez pas le Plug-in Velero pour vSphere. Pour la portabilité entre les clusters Kubernetes, utilisez une instance autonome de Velero avec Restic.

Condition préalable : installez le Plug-in Velero pour vSphere sur le Superviseur

L'installation du Plug-in Velero pour vSphere sur un cluster TKG 2 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-T.

Reportez-vous à la documentation de Maintenance de vSphere with Tanzu pour obtenir des instructions sur l'installation du Plug-in Velero pour vSphere sur le Superviseur.

É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 with Tanzu, y compris kubectl, kubectl-vsphere et velero-vsphere.

Effectuez les étapes suivantes pour installer la CLI Velero.
  1. Téléchargez la version de la CLI Velero prise en charge à partir de la page des téléchargements de produits VMware. Pour plus d'informations sur la version de Velero prise en charge, reportez-vous à Maintenance de vSphere with Tanzu.
  2. Ouvrez une ligne de commande et remplacez le répertoire par le téléchargement de Velero CLI.
    gunzip velero-linux-v1.x.x_vmware.1.gz
  3. Recherchez le fichier binaire Velero.
    ls -l
    
    -rw-r--r-- 1 root root 7142128 Aug 14 14:14 velero-linux-v1.x.x_vmware.1
    
  4. Accordez des autorisations d'exécution à Velero CLI.
    chmod +x velero-linux-v1.x.x_vmware.1
  5. Rendez la CLI Velero disponible globalement en la déplaçant vers le chemin d'accès au système.
    cp velero-linux-v1.x.x_vmware.1 /usr/local/bin/velero
  6. Vérifiez l'installation de la CLI Velero.
    velero version
    
    Client:
        Version: v1.x.x

É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é.

Pour installer le Plug-in Velero pour vSphere, vous devez fournir les informations suivantes sur votre magasin d'objets compatible S3.
Élément de données Valeur d'exemple
s3Url

http://my-s3-store.example.com

aws_access_key_id ACCESS-KEY-ID-STRING
aws_secret_access_key SECRET-ACCESS-KEY-STRING
Créez un fichier de secrets nommé 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 : créer le configmap du plug-in Velero

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

Étape 4 : installer le Plug-in Velero pour vSphere sur le cluster TKG 2

Vous allez utiliser la CLI Velero pour installer le Plug-in Velero pour vSphere sur le cluster TKG 2 cible que vous souhaitez sauvegarder et restaurer.

Le contexte de la CLI Velero suit automatiquement le contexte 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.
  1. À l'aide du Plug-in vSphere pour kubectl, authentifiez-vous dans le Superviseur.
  2. Définissez le contexte kubectl sur le cluster TKG 2 cible.
    kubectl config use-context TARGET-TANZU-KUBERNETES-CLUSTER
  3. 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:v1.1.0 \
    --snapshot-location-config region=REGION \
    --backup-location-config region=REGION,s3ForcePathStyle="true",s3Url=http://my-s3-store.example.com
  4. 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:1.1.0

Addendum : désinstaller le Plug-in Velero pour vSphere du cluster TKG 2

Procédez comme suit pour désinstaller le Plug-in Velero pour vSphere.
  1. Définissez le contexte kubectl sur le cluster Tanzu Kubernetes cible.
    kubectl config use-context TARGET-TANZU-KUBERNETES-CLUSTER
  2. 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:1.1.0
  3. 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