Per poter utilizzare la tecnologia degli snapshot nei cluster Servizio TKG, è necessario installare e distribuire un webhook dello snapshot CSI esterno in un cluster TKG. Il webhook dello snapshot CSI esterno è un componente open source con un callback HTTP che risponde alle richieste di ammissione. È responsabile della convalida degli oggetti snapshot del volume.

Il webhook dello snapshot CSI esterno viene installato automaticamente in un Supervisore. Questo argomento si applica solo ai cluster Servizio TKG.

Prerequisiti

Preparazione di un cluster Servizio TKG per l'installazione di un webhook dello snapshot CSI esterno

Eseguire i passaggi seguenti per installare il webhook dello snapshot CSI esterno in un cluster Servizio TKG.

Procedura

  1. Recuperare le credenziali di amministratore del cluster TKG in cui si desidera distribuire il webhook dello snapshot CSI esterno.
    tanzu cluster kubeconfig get my-cluster --admin
  2. Passare al contesto dello Spazio dei nomi vSphere in cui viene eseguito il provisioning del cluster TKG di destinazione.
    kubectl config use-context my-cluster-admin@my-cluster
  3. Se nel cluster non è presente un repository di pacchetti, ad esempio il repository tanzu-standard, installarlo.
    È possibile ignorare questo passaggio se il cluster di destinazione è un cluster legacy basato su piano. Per i cluster basati su piano, il repository dei pacchetti tanzu-standard viene abilitato automaticamente nello spazio dei nomi tanzu-package-repo-global.
    tanzu package repository add PACKAGE-REPO-NAME --url PACKAGE-REPO-ENDPOINT --namespace tkg-system
    • PACKAGE-REPO-NAME è il nome del repository di pacchetti, ad esempio tanzu-standard, o il nome di un registro immagini private configurato con le variabili ADDITIONAL_IMAGE_REGISTRY.
    • PACKAGE-REPO-ENDPOINT è l'URL del repository del pacchetto.
  4. Se non è già stato fatto, installare cert-manager.
    Per informazioni, vedere Installare Gestione certificati.

risultati

Ora è possibile distribuire il webhook dello snapshot CSI esterno.

Distribuzione del webhook dello snapshot CSI esterno

Eseguire i passaggi seguenti per distribuire il webhook dello snapshot CSI esterno in un cluster Servizio TKG.

Procedura

  1. Verificare che il pacchetto del webhook dello snapshot CSI esterno sia disponibile nel cluster.
    tanzu package available list -A

    Se il pacchetto non è disponibile, assicurarsi che il repository di pacchetti contenente il pacchetto del webhook dello snapshot CSI esterno richiesto sia installato correttamente. Per istruzioni, vedere il Passaggio 3 di Preparazione di un cluster Servizio TKG per l'installazione di un webhook dello snapshot CSI esterno.

  2. Ottenere la versione del pacchetto disponibile.
    tanzu package available list external-csi-snapshot-webhook.tanzu.vmware.com -A
  3. Installare il pacchetto con la versione disponibile appropriata.
    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 specifica la versione del pacchetto ottenuta nel passaggio 2.
  4. Verificare che il pacchetto del webhook dello snapshot CSI esterno sia stato installato.
    tanzu package installed list -A
    Per visualizzare ulteriori dettagli sul pacchetto, è anche possibile eseguire il comando seguente:
    tanzu package installed get external-csi-snapshot-webhook --namespace kube-system
  5. Verificare che l'app external-csi-snapshot-webhook sia stata riconciliata correttamente in TARGET-NAMESPACE.
    kubectl get apps -A
    Se lo stato non è Reconcile Succeeded, visualizzare i dettagli completi dello stato dell'app external-csi-snapshot-webhook. Visualizzar lo stato completo può aiutare a risolvere il problema.
    kubectl get app external-csi-snapshot-webhook --namespace kube-system -o yaml
    Se la procedura di risoluzione dei problemi non risulta efficace, disinstallare il pacchetto utilizzando il comando seguente prima di installarlo di nuovo.
    tanzu package installed delete external-csi-snapshot-webhook --namespace kube-system
  6. Verificare che il webhook external-csi-snapshot-sia in esecuzione elencando tutti i pod nel cluster.
    kubectl get pods -A
    Verificare che i pod external-csi-snapshot-webhook vengano creati nello spazio dei nomi kube-system.