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
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 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
- Ü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.
Datenelement | Beispielwert |
---|---|
s3Url |
|
aws_access_key_id | ACCESS-KEY-ID-STRING |
aws_secret_access_key | SECRET-ACCESS-KEY-STRING |
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)
- Stellen Sie sicher, dass auf den Sicherungsspeicherort zugegriffen werden kann.
- Stellen Sie sicher, dass der Velero vSphere-Operator-Kern Supervisor-Dienst aktiviert ist.
kubectl get ns | grep velero svc-velero-domain-c9 Active 18d
- 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
- 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
- Aktivieren Sie Velero für den TKG-Zielcluster, indem Sie die Velero-Bezeichnung zum Cluster hinzufügen.
kubectl label cluster
CLUSTER-NAME
--namespaceCLUSTER-NS
velero.vsphere.vmware.com/enabled=trueHinweis: Die Aktivierung erfolgt über den vSphere-Namespace, wenn der Cluster bereitgestellt wird. - 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.
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.
- Authentifizieren Sie sich mithilfe des vSphere-Plug-In für kubectl beim Supervisor.
- Ändern Sie den
kubectl
-Kontext in den TKG-Zielcluster.kubectl config use-context TARGET-TANZU-KUBERNETES-CLUSTER
- 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
- 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
- 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
- Ändern Sie den
kubectl
-Kontext in den Tanzu Kubernetes-Zielcluster.kubectl config use-context TARGET-TANZU-KUBERNETES-CLUSTER
- 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
- 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