Mit dem Velero-Plug-In für vSphere können Sie Arbeitslasten, die in einem TKGS-Cluster ausgeführt werden, sichern und wiederherstellen, indem Sie das Velero-Plug-In für vSphere in dem betreffenden Cluster installieren.

Überblick

Das Velero-Plug-In für vSphere bietet eine Lösung zum Sichern und Wiederherstellen von TKGS-Clusterarbeitslasten. Für persistente Arbeitslasten können Sie mit dem Velero-Plug-In für vSphere Snapshots der persistenten Volumes erstellen.
Hinweis: Wenn Sie Portabilität für die TKGS-Clusterarbeitslasten benötigen, die Sie sichern und wiederherstellen möchten, verwenden Sie nicht das Velero-Plug-In für vSphere. Verwenden Sie für die Kubernetes-Cluster-übergreifende Portabilität eigenständiges Velero mit Restic.

Voraussetzung: Installation des Velero-Plug-In für vSphere im Supervisor

Für die Installation des Velero-Plug-In für vSphere in einem TKGS-Cluster muss das Velero-Plug-In für vSphere im Supervisor installiert sein. Außerdem muss der Supervisor mit NSX-Netzwerk konfiguriert sein. Weitere Informationen finden Sie unter .

Schritt 1: Installieren der Velero-CLI auf einem Linux-Workstation

Die Velero-CLI ist das Standardtool für die Schnittstelle mit Velero. Die Velero-CLI bietet mehr Funktionen als die Velero-Plug-In für vSphere-CLI (velero-vsphere) und ist für die Sicherung und Wiederherstellung von Tanzu Kubernetes-Cluster-Arbeitslasten erforderlich.

Installieren Sie die Velero-CLI auf einer Linux-Workstation. Idealerweise handelt es sich um denselben Jump-Host, in dem Sie zugehörige CLIs für Ihre vSphere IaaS control plane-Umgebung ausführen, einschließlichkubectl, kubectl-vsphere, und velero-vsphere.

Die Velero-Versionsnummern werden als X.Y.Z dargestellt. In der Velero-Kompatibilitätsmatrix finden Sie die spezifischen Versionen, die verwendet werden sollen. Ersetzen Sie sie entsprechend beim Ausführen der Befehle.

Führen Sie die folgenden Schritte aus, um die Velero-CLI zu installieren.
  1. Führen Sie folgende Befehle aus:
    $ 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
  2. Überprüfen Sie die Installation der Velero-CLI.
    velero version
    
    Client:
        Version: vX.Y.Z

Schritt 2 : Abrufen der Details des S3-kompatiblen Buckets

Der Einfachheit halber wird in den Schritten davon ausgegangen, dass Sie denselben S3-kompatiblen Objektspeicher verwenden, den Sie beim Installieren des Velero-Plug-In für vSphere im Supervisor konfiguriert haben. In der Produktion können Sie einen separaten Objektspeicher erstellen.

Für die Installation des Velero-Plug-In für vSphere müssen Sie die folgenden Informationen über Ihren S3-kompatiblen Objektspeicher angeben.
Datenelement Beispielwert
s3Url

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

aws_access_key_id ACCESS-KEY-ID-STRING
aws_secret_access_key SECRET-ACCESS-KEY-STRING
Erstellen Sie eine Datei für geheime Schlüssel mit dem Namen s3-credentials und den folgenden Informationen. Beim Installieren des Velero-Plug-In für vSphere werden Sie auf diese Datei verweisen.
aws_access_key_id = ACCESS-KEY-ID-STRING
aws_secret_access_key = SECRET-ACCESS-KEY-STRING

Schritt 3 Option A: Installieren des Velero-Plug-In für vSphere auf dem TKG-Cluster mithilfe einer Bezeichnung (neue Methode)

Wenn Sie vSphere 8 Update 3 oder höher verwenden, können Sie das Velero-Plug-In für vSphere automatisch in einem TKG-Cluster installieren, indem Sie eine Bezeichnung hinzufügen.
  1. Stellen Sie sicher, dass auf den Sicherungsspeicherort zugegriffen werden kann.
  2. Stellen Sie sicher, dass der Velero vSphere-Operator-Kern Supervisor-Dienst aktiviert ist.
    kubectl get ns | grep velero
    svc-velero-domain-c9                        Active   18d
  3. Stellen Sie sicher, dass ein Kubernetes-Namespace mit der Bezeichnung velero auf Supervisor erstellt wird.
    kubectl get ns | grep velero
    svc-velero-domain-c9                        Active   18d
    velero                                      Active   1s
  4. Stellen Sie sicher, dass das Velero-Plug-In für vSphere Supervisor-Dienst auf Supervisor aktiviert ist.
    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
  5. Aktivieren Sie Velero für den TKG-Zielcluster, indem Sie die Velero-Bezeichnung zum Cluster hinzufügen.
    kubectl label cluster CLUSTER-NAME --namespace CLUSTER-NS velero.vsphere.vmware.com/enabled=true
    Hinweis: Die Aktivierung erfolgt über den vSphere-Namespace, wenn der Cluster bereitgestellt wird.
  6. Stellen Sie sicher, dass Velero installiert ist und für den Cluster verwendet werden kann.
    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

Schritt 3 Option B: Manuelles Installieren des Velero-Plug-In für vSphere im TKG-Cluster (veraltete Methode)

Sie verwenden die Velero-CLI zum Installieren des Velero-Plug-In für vSphere im TKG-Zielcluster, den Sie sichern und wiederherstellen möchten.

Der Velero-CLI-Kontext folgt automatisch dem kubectl-Kontext. Stellen Sie vor der Ausführung von Velero-CLI-Befehlen zur Installation von Velero und des Velero-Plug-In für vSphere auf dem Zielcluster sicher, dass als kubectl-Kontext der Zielcluster festgelegt ist.
  1. Authentifizieren Sie sich mithilfe des vSphere-Plug-In für kubectl beim Supervisor.
  2. Ändern Sie den kubectl-Kontext in den TKG-Zielcluster.
    kubectl config use-context TARGET-TANZU-KUBERNETES-CLUSTER
  3. Erstellen Sie im TKG-Cluster eine Configmap für das Velero-Plug-In mit der Bezeichnung velero-vsphere-plugin-config.yaml.
    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: velero-vsphere-plugin-config
    data:
      cluster_flavor: GUEST
    Wenden Sie die Configmap auf den TKG-Cluster an.
    kubectl apply -n <velero-namespace> -f velero-vsphere-plugin-config.yaml
    Wenn Sie die Configmap nicht installieren, erhalten Sie folgende Fehlermeldung bei der Installation des Velero-Plug-In für 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
  4. Führen Sie den folgenden Velero-CLI-Befehl aus, um Velero auf dem Zielcluster zu installieren.

    Ersetzen Sie die Platzhalterwerte für die Felder BUCKET-NAME, REGION (zwei Instanzen) und s3Url durch die geeigneten Werte. Wenn Sie von einer der vorstehenden Anweisungen abgewichen sind, passen Sie auch diese Werte an, z. B. den Namen oder den Speicherort der Geheimschlüssel-Datei, den Namen des manuell erstellten velero-Namespace usw.

    ./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
  5. Installieren Sie das Velero-Plug-In für vSphere auf dem Zielcluster. Der installierte Velero kommuniziert mit dem Kubernetes-API-Server, um das Plug-In zu installieren.
    velero plugin add vsphereveleroplugin/velero-plugin-for-vsphere:vX.Y.Z

Ergänzung: Deinstallieren des Velero-Plug-In für vSphere im TKG-Cluster

Mit den folgenden Schritten deinstallieren Sie das Velero-Plug-In für vSphere.
  1. Ändern Sie den kubectl-Kontext in den Tanzu Kubernetes-Zielcluster.
    kubectl config use-context TARGET-TANZU-KUBERNETES-CLUSTER
  2. Führen Sie zum Installieren des Plug-Ins den folgenden Befehl aus, um den InitContainer von velero-plugin-for-vsphere aus der Velero-Bereitstellung zu entfernen.
    velero plugin remove vsphereveleroplugin/velero-plugin-for-vsphere:vX.Y.Z
  3. Um den Vorgang abzuschließen, löschen Sie die Backup-Treiber-Bereitstellung und die zugehörigen CRDs.
    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