Pour pouvoir utiliser la technologie des snapshots dans les clusters Service TKG, vous devez installer et déployer un Webhook de snapshot CSI externe dans un cluster TKG. Le Webhook de snapshot CSI externe est un composant open source avec un rappel HTTP qui répond aux demandes d'admission. Il est responsable de la validation des objets de snapshot de volume.

Le Webhook de snapshot CSI externe s'installe automatiquement dans un Superviseur. Cette rubrique s'applique uniquement aux clusters Service TKG.

Conditions requises

Préparer un cluster de Service TKG pour l'installation d'un Webhook de snapshot CSI externe

Suivez ces étapes pour installer un Webhook de snapshot CSI externe dans un cluster Service TKG.

Procédure

  1. Obtenez les informations d'identification de l'administrateur du cluster TKG sur lequel vous souhaitez déployer le Webhook de snapshot CSI externe.
    tanzu cluster kubeconfig get my-cluster --admin
  2. Changez de contexte pour utiliser l'Espace de noms vSphere dans lequel le cluster TKG cible est provisionné.
    kubectl config use-context my-cluster-admin@my-cluster
  3. Si le cluster ne dispose pas d'un référentiel de modules, tel que le référentiel tanzu-standard, installez-en un.
    Vous pouvez ignorer cette étape si votre cluster cible est un cluster hérité basé sur un plan. Pour les clusters basés sur un plan, le référentiel de modules tanzu-standard est automatiquement activé dans l'espace de noms tanzu-package-repo-global.
    tanzu package repository add PACKAGE-REPO-NAME --url PACKAGE-REPO-ENDPOINT --namespace tkg-system
    • PACKAGE-REPO-NAME est le nom du référentiel de modules, tel que tanzu-standard, ou le nom d'un registre d'images privé configuré avec les variables ADDITIONAL_IMAGE_REGISTRY.
    • PACKAGE-REPO-ENDPOINT est l'URL du référentiel de modules.
  4. Si vous ne l'avez pas déjà fait, installez le module cert-manager.
    Pour plus d'informations, consultez Installer le gestionnaire de certificats.

Résultats

Vous pouvez désormais déployer le Webhook de snapshot CSI externe.

Déployer un Webhook de snapshot CSI externe

Suivez ces étapes pour déployer le Webhook de snapshot CSI externe sur un cluster Service TKG.

Procédure

  1. Vérifiez que le module Webhook de snapshot CSI externe est disponible dans le cluster.
    tanzu package available list -A

    Si le module n'est pas disponible, assurez-vous que le référentiel de modules contenant le module Webhook de snapshot CSI externe requis est correctement installé. Pour obtenir des instructions, reportez-vous à l'étape 3 de Préparer un cluster de Service TKG pour l'installation d'un Webhook de snapshot CSI externe.

  2. Obtenez la version du module disponible.
    tanzu package available list external-csi-snapshot-webhook.tanzu.vmware.com -A
  3. Installez le module avec la version disponible appropriée.
    tanzu package install external-csi-snapshot-webhook --package external-csi-snapshot-webhook.tanzu.vmware.com --version AVAILABLE-PACKAGE-VERSION --namespace kube-system
    AVAILABLE-PACKAGE-VERSION spécifie la version du module que vous avez obtenue à l'étape 2.
  4. Vérifiez que le module Webhook de snapshot CSI externe a été installé.
    tanzu package installed list -A
    Pour afficher plus de détails sur le module, vous pouvez également exécuter la commande suivante :
    tanzu package installed get external-csi-snapshot-webhook --namespace kube-system
  5. Vérifiez que l'application external-csi-snapshot-webhook a été correctement rapprochée dans votre TARGET-NAMESPACE.
    kubectl get apps -A
    Si l'état n'est pas Reconcile Succeeded, affichez les détails de l'état complet de l'application external-csi-snapshot-webhook. L'affichage de l'état complet peut vous aider à résoudre le problème.
    kubectl get app external-csi-snapshot-webhook --namespace kube-system -o yaml
    Si le dépannage ne vous aide pas à résoudre le problème, désinstallez le module à l'aide de la commande suivante, avant de le réinstaller.
    tanzu package installed delete external-csi-snapshot-webhook --namespace kube-system
  6. Vérifiez que external-csi-snapshot-webhook est en cours d'exécution en répertoriant tous les espaces du cluster.
    kubectl get pods -A
    Vérifiez que les espaces external-csi-snapshot-webhook sont créés dans l'espace de noms kube-system.