Erfahren Sie, wie Sie das Velero-Plug-In für vSphere zur Sicherung und Wiederherstellung von Arbeitslasten auf vSphere-Pods und in TKG-Clustern installieren und konfigurieren.
Überblick
Das Velero-Plug-In für vSphere bietet eine Lösung zum Sichern und Wiederherstellen von vSphere IaaS Control Plane-Arbeitslasten. Nachdem Sie das Velero-Plug-In für vSphere im Supervisor installiert und konfiguriert haben, können Sie TKG-Clusterarbeitslasten und vSphere-Pods sichern und wiederherstellen. Für persistente Arbeitslasten können Sie mit dem Velero-Plug-In für vSphere Snapshots der persistenten Volumes erstellen.
Voraussetzungen:
- Supervisor ist aktiviert.
- Ein vSphere-Namespace wird erstellt und konfiguriert.
- Sie müssen Mitglied der vSphere-Administratorrolle sein oder über die folgenden vSphere-Rechte verfügen:
- SupervisorServices.Manage
- Namespaces.Manage
- Namespaces.Configure
Hinweis: Weitere Informationen finden Sie unter Erstellen einer dedizierten Gruppe und Rolle in Verwenden des TKG-Dienstes mit der vSphere IaaS-Steuerungsebene. - Erstellen Sie eine Linux-VM, auf der Sie die Velero-CLI ausführen können. Oder verwenden Sie einen vorhandenen Linux-Jump-Host, über den Sie auf den Supervisor zugreifen können.
- 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.
- Zur Unterstützung der Bereitstellung von vSphere-Pods wird ein NSX-Netzwerk verwendet.
- Eine Datenmanager-VM ist bereitgestellt.
- Der Velero-Operator ist aktiviert und wird im
velero-vsphere-domain-cXX
-Namespace ausgeführt. - Ein Namespace mit der Bezeichnung
velero
ist konfiguriert.. - Das Velero-Plug-In für vSphere wird als vSphere Pod im
velero
Namespace ausgeführt.
Schritt 0 (Optional): Erstellen eines dedizierten Netzwerks für die Sicherung und Wiederherstellung des Datenverkehrs
- Taggen der ESXi-Hosts für die Unterstützung von Network File Copy (NFC)
- Konfigurieren des Sicherungs- und Wiederherstellungsnetzwerks mit NSX.
Um ESXi-Hosts so zu konfigurieren, dass sie einen Transport von dedizierten Netzwerkblockgeräten (Network Block Device, NBD) unterstützen, fügen Sie auf jedem ESXi-Host im vSphere-Cluster, auf dem Supervisor aktiviert ist, eine VMkernel-NIC hinzu, und legen Sie die vSphereBackupNFC
auf dieser NIC fest. Wenn das Tag vSphereBackupNFC
auf den NIC-Typ für einen VMkernel-Adapter angewendet wird, wird der Sicherungs- und Wiederherstellungsdatenverkehr durch die ausgewählte virtuelle NIC geleitet.
vSphereBackupNFC
auf der VMkernel-NIC nicht aktiviert ist, wird der Sicherungs- und Wiederherstellungsdatenverkehr nicht auf dem Sicherungs- und Wiederherstellungsnetzwerk gesendet, selbst wenn Sie eines konfigurieren. Ist
vSphereBackupNFC
nicht aktiviert, wird der Datenverkehr über das vSphere-Verwaltungsnetzwerk übertragen.
vSphereBackupNFC
-Tag aktiviert ist, konfigurieren Sie das Sicherungs- und Wiederherstellungsnetzwerk mit NSX, indem Sie den vorhandenen vSphere Distributed Switch (VDS) für den Cluster wie folgt aktualisieren:
- Klicken Sie im vSphere Client auf .
- Wählen Sie den vorhandenen VDS für den Cluster aus.
- Klicken Sie mit der rechten Maustaste auf den VDS und wählen Sie dann aus.
- Erstellen Sie eine neue verteilte Portgruppe mit dem Namen BackupRestoreNetwork.
- Fügen Sie der verteilten Portgruppe BackupRestoreNetwork einen VMkernel-Adapter hinzu.
- Verbinden Sie alle ESXi-Hosts im vCenter-Cluster, in dem die Arbeitslastverwaltung aktiviert ist, mit der verteilten Portgruppe BackupRestoreNetwork.
- Aktivieren Sie das
vSphereBackupNFC
-Tag.
Schritt 1: Erstellen eines S3-kompatiblen Objektspeichers
Zum Sichern und Wiederherstellen persistenter Volumes müssen Sie einen S3-kompatiblen Objektspeicher bereitstellen. Velero unterstützt eine Reihe von Objektspeicher-Anbietern.
Für die Installation des Velero-Plug-In für vSphere müssen Sie die folgenden Informationen über Ihren S3-kompatiblen Objektspeicher bereitstellen:
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 |
s3-credentials
und den folgenden Informationen. Beim Installieren des
Velero-Plug-In für vSphere werden Sie auf diese Datei verweisen.
[default] aws_access_key_id = ACCESS-KEY-ID-STRING aws_secret_access_key = SECRET-ACCESS-KEY-STRING
MinIO ist ein S3-kompatibler Objektspeicher, der einfach zu installieren und zu verwenden ist. vSphere IaaS Control Plane wird mit einem MinIO-Supervisor-Dienst geliefert, den Sie aktivieren können. Weitere Informationen finden Sie in der Veröffentlichung Dienste und Arbeitslasten der vSphere IaaS-Steuerungsebene.
Alternativ können Sie einen MinIO-Server manuell auf einer Linux-VM installieren. Anweisungen finden Sie unter Installieren und Konfigurieren von eigenständigem Velero und Restic in TKG-Clustern.
Schritt 2: Installieren und Konfigurieren des Data Manager
Um die Sicherung und Wiederherstellung mithilfe von Velero-Plug-In für vSphere zu erleichtern, stellen Sie eine oder mehrere Data Manager-VMs bereit, damit Sie Sicherungsdaten von persistenten Volumes im S3-kompatiblen Objektspeicher verschieben können. Bei der Sicherung verschiebt der Data Manager die Volume-Snapshot-Daten vom vSphere-Volume auf den externen persistenten S3-kompatiblen Speicher, und bei der Wiederherstellung verschiebt er jene Daten vom externen S3-kompatiblen Speicher auf ein vSphere-Volume.
- Klicken Sie mit dem vSphere Client mit der rechten Maustaste auf das Datencenter, in dem Supervisor aktiviert ist, und wählen Sie OVF-Vorlage bereitstellen aus.
- Laden Sie die Data Manager-OVA-Datei über die folgende URL auf Ihre lokale Maschine herunter: https://vmwaresaas.jfrog.io/artifactory/Velero-YAML/Velero/DataManager/1.2.0/datamgr-ob-20797900-photon-3-release-1.2.ova.
- Wählen Sie Lokale Datei aus und laden Sie die Data Manager-OVA-Datei auf vCenter Server hoch.
- Benennen Sie die virtuelle Maschine beispielsweise als DataManager.
- Wählen Sie die Computing-Ressource aus, bei der es sich um den vSphere-Cluster handelt, in dem der Supervisor konfiguriert ist.
- Überprüfen Sie die VM-Bereitstellungsdetails und klicken Sie auf Weiter.
- Akzeptieren Sie die Lizenzvereinbarungen und klicken Sie auf Weiter.
- Wählen Sie den Speicher aus und klicken Sie auf Weiter.
- Wählen Sie das Zielnetzwerk für die Datenmanager-VM aus.
- Klicken Sie auf BackupRestoreNetwork, wenn Sie ein dediziertes Sicherungs- und Wiederherstellungsnetzwerk konfiguriert haben.
- Klicken Sie auf Verwaltungsnetzwerk, wenn Sie kein dediziertes Sicherungs- und Wiederherstellungsnetzwerk konfiguriert haben.
- Bestätigen Sie Ihre Auswahl und klicken Sie auf Beenden, um den Vorgang abzuschließen.
- Sie haben die Möglichkeit, den Status der Bereitstellung im Fensterbereich „Kürzlich bearbeitete Aufgaben“ zu überwachen.
Hinweis: Wenn Sie eine Fehlermeldung erhalten, dass der „OVF-Deskriptor nicht verfügbar“ ist, verwenden Sie den Chrome-Browser.
- Konfigurieren Sie nach der Bereitstellung der Data Manager-VM die Eingabeparameter für die VM.
- Klicken Sie mit der rechten Maustaste auf die VM und wählen Sie aus.
- Wechseln Sie auf der Registerkarte „Virtuelle Hardware“ für das CD/DVD-Laufwerk von Host-Gerät zu Client-Gerät.
Hinweis: Wenn Sie dies nicht tun, können Sie die erforderlichen erweiterten Konfigurationseinstellungen nicht speichern.
- Wählen Sie auf der Registerkarte die Optionen .
- Konfigurieren Sie die Eingabeparameter für jede der folgenden Einstellungen:
Parameter Wert guestinfo.cnsdp.vcUser
Geben Sie den vCenter Server-Benutzernamen mit den ausreichenden Berechtigungen ein, um VMs bereitzustellen.
Wenn Sie keinen Benutzer mit vSphere-Administratorberechtigungen angeben, finden Sie weitere Informationen in der Dokumentation zu vSphere-Berechtigungen. Sie können auch einen dedizierten Benutzer für die Arbeitslastverwaltung anlegen. Weitere Informationen finden Sie unter Erstellen einer dedizierten Gruppe und Rolle in Verwenden des TKG-Dienstes mit der vSphere IaaS-Steuerungsebene.
guestinfo.cnsdp.vcAddress
Geben Sie die vCenter Server-IP-Adresse oder den FQDN ein. guestinfo.cnsdp.vcPasswd
Geben Sie das vCenter Server-Benutzerkennwort ein. guestinfo.cnsdp.vcPort
Die Standardeinstellung lautet 443. Ändern Sie diesen Wert nicht. guestinfo.cnsdp.wcpControlPlaneIP
Geben Sie die Floating IP-Adresse des Supervisor ein. Rufen Sie diesen Wert ab, indem Sie zum Supervisor in der Arbeitslastverwaltung gehen und auswählen
guestinfo.cnsdp.updateKubectl
Der Standardwert lautet false. Ändern Sie diesen Wert nicht. guestinfo.cnsdp.veleroNamespace
Behalten Sie den Standardwert velero
bei. Später im Prozess werden Sie einen vSphere-Namespace auf dem Supervisor mit dem Namenvelero
erstellen. Diese beiden Namen müssen übereinstimmen.guestinfo.cnsdp.datamgrImage
Wenn nicht konfiguriert (nicht festgelegt), ruft das System standardmäßig das Container-Image aus dem Docker Hub unter vsphereveleroplugin/data-manager-for-plugin:1.1.0
ab. - Klicken Sie auf OK, um die Konfiguration zu speichern, und erneut auf OK, um die VM-Einstellungen zu speichern.
Hinweis: Wenn Sie das CD/DVD-Laufwerk nicht von Host-Gerät zu Client-Gerät geändert haben, können Sie die Einstellungen nicht speichern. Brechen Sie in diesem Fall den Vorgang ab, wechseln Sie das Laufwerk und wiederholen Sie die erweiterten Konfigurationseinstellungen.
- Schalten Sie die Data Manager-VM erst ein, nachdem Sie den Velero-vSphere-Operator aktiviert haben (nächster Abschnitt).
Schritt 3 : Installieren des Velero-vSphere-Operator-Diensts auf dem Supervisor
vSphere IaaS Control Plane stellt den Velero-vSphere-Operator als Supervisor-Dienst bereit. Der Velero-vSphere-Operator-Dienst unterstützt in Kombination mit dem Velero-Plug-In für vSphere die Sicherung und Wiederherstellung von Kubernetes-Arbeitslasten, einschließlich Snapshots von persistenten Volumes. Weitere Informationen zu Supervisor-Dienste finden Sie unter Verwalten von Supervisor-Diensten in Dienste und Arbeitslasten der vSphere IaaS-Steuerungsebene.
Velero-vSphere-Operator ist ein Kern-Supervisor-Dienst, was bedeutet, dass der Service Operator bei vCenter Server vorregistriert ist. Führen Sie die Schritte aus, um Velero-vSphere-Operator als Dienst auf Supervisor zu installieren.
- Wählen Sie im vSphere Client-Startmenü die Option Arbeitslastverwaltung aus.
- Klicken Sie auf die Registerkarte Dienste.
- Wählen Sie oben im Dropdown-Menü das Ziel vCenter Server aus.
- Klicken Sie auf der Karte „Velero-vSphere-Operator“ auf .
- Wählen Sie den Ziel-Supervisor aus, auf dem Sie den Dienst wiederherstellen möchten, und klicken Sie auf Weiter.
- Klicken Sie auf Beenden, um die Installation des Diensts abzuschließen.
Überprüfen Sie den Velero-vSphere-Operator-Dienst auf dem Supervisor und starten Sie die Data Manager-VM.
- Wählen Sie im vSphere Client-Startmenü die Option Arbeitslastverwaltung aus.
- Wählen Sie aus.
- Vergewissern Sie sich, dass der Velero-vSphere-Operator installiert ist und sich im Status Konfiguriert befindet.
- Vergewissern Sie sich auf der Registerkarte Namespaces, dass ein neuer vSphere-Namespace-Namespace mit dem Namen
svc-velero-vsphere-domain-xxx
angezeigt wird, wobeixxx
ein eindeutiges alphanumerisches Token ist. Dies ist der Namespace, der vom System für den Velero-vSphere-Operator erstellt wurde.Hinweis: Sie brauchen diesen Namespace nicht zu konfigurieren und sollten ihn nicht bearbeiten. - Suchen Sie in Host und Cluster die Data Manager-VM und schalten Sie die VM ein.
Schritt 4 : Erstellen eines vSphere-Namespace für das Velero-Plug-In für vSphere
- Benennen Sie den vSphere-Namespace velero.
- Wählen Sie den Namespace velero aus und konfigurieren Sie ihn.
- Geben Sie den Speicher für den Namespace velero an.
- Erteilen Sie einem Benutzer mit entsprechenden Rechten die Berechtigung zum Bearbeiten des velero-Namespace.
Schritt 5: Erstellen der Velero-Plug-In für vSphere-Configmap
velero-vsphere-plugin-config.yaml
.
apiVersion: v1 kind: ConfigMap metadata: name: velero-vsphere-plugin-config data: cluster_flavor: SUPERVISOR
kubectl apply -n <velero-namespace> -f velero-vsphere-plugin-config.yaml
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
Schritt 6: Installieren des Velero-Plug-In für vSphere
kubectl-vsphere
- und die
kubectl
-CLI ausführen.
- Herunterladen der Velero-Plug-In für vSphere-CLI.
Überprüfen Sie die Kompatibilitätsmatrix und laden Sie die Zielversion hier herunter: https://github.com/vmware-tanzu/velero-plugin-for-vsphere/releases.Hinweis: Ersetzen Sie in den folgenden Befehlen
X.Y.Z
durch die Versionen des Velero-CLIs und -Plugins, die Sie heruntergeladen haben. - Kopieren Sie die CLI sicher auf den Linux-Jump-Host. Beispiel:
pscp -P 22 C:\temp\velero-vsphere-X.Y.Z-linux-amd64.tar.gz [email protected]:/home/ubuntu/tanzu
- Extrahieren Sie die
velero-vsphere
-CLI und machen Sie sie beschreibbar.tar -xf velero-vsphere-X.Y.Z-linux-amd64.tar.gz chmod +x velero-vsphere
- Fügen Sie die CLI zu Ihrem Pfad hinzu.
export PATH="$(pwd)/velero-vsphere-X.Y.Z-linux-amd64:$PATH"
- Erstellen Sie die
s3-credentials
-Datei mit den folgenden Inhalten.aws_access_key_id = ACCESS-KEY-ID-STRING aws_secret_access_key = SECRET-ACCESS-KEY-STRING
- Rufen Sie die Region, die URL und den Bucket-Namen für Ihren S3-kompatiblen Objektspeicher ab.
- Melden Sie sich über vSphere-Plug-In für kubectl bei Supervisor an.
- Führen Sie einen Kontextwechsel zum Supervisor durch.
kubectl config use-context SUPERVISOR-CLUSTER-IP-ADDRESS
- Führen Sie den folgenden
velero-vsphere
-CLI-Befehl aus, um das Velero-Plug-In für vSphere in dem von Ihnen erstellten velero-Namespace zu installieren.Exportieren Sie die Werte für AWS- $BUCKET und - $REGION. 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 erstelltenvelero
-Namespace usw.export BUCKET=example-velero-sv && export REGION=us-east-1 ./velero-vsphere install \ --namespace velero \ --version vX.X.X \ --provider aws \ --plugins harbor-repo.vmware.com/velero/velero-plugin-for-aws:vX.Y.Z,harbor-repo.vmware.com/velero/velero-plugin-for-vsphere:vX.Y.Z \ --bucket $BUCKET \ --secret-file ~/.aws/credentials \ --snapshot-location-config region=$REGION \ --backup-location-config region=$REGION
Hinweis: Beispiel: Die Velero-CLI-Version ist v1.8.1, wenn das Velero-Plug-In für vSphere v1.4.0 verwendet wird. - Überprüfen Sie die erfolgreiche Installation des Velero-Plug-In für vSphere.
Bei erfolgreicher Installation sollte die folgende Meldung angezeigt werden:
Send the request to the operator about installing Velero in namespace velero
Führen Sie den folgenden Befehl aus, um eine weitere Überprüfung durchzuführen. Als Status sollte „Abgeschlossen“ angezeigt werden, dazu die Version.kubectl -n velero get veleroservice default -o json | jq '.status'
Erwartetes Ergebnis:{ "enabled": true, "installphase": "Completed", "version": "v1.8.1" }
Hinweis: Der obige Befehl setzt voraus, dass Sie dasjq
-Dienstprogramm installiert haben, das die JSON-Ausgabe formatiert und an das Terminal sendet. Wenn Siejq
nicht installiert haben, installieren Sie es oder entfernen Sie diesen Teil des Befehls (alles nachjson
). - Beheben Sie gegebenenfalls Fehler.
Wenn die Installation nicht erfolgreich ist, entfernen Sie die Installation und versuchen Sie es erneut. Um die Installation zu entfernen, führen Sie die Schritte im nächsten Abschnitt in der angegebenen Reihenfolge aus.
Ergänzung: Deinstallieren des Velero-Plug-In für vSphere
- Führen Sie die
velero-vsphere
-CLI aus, um das Velero-Plug-In für vSphere zu deinstallieren../velero-vsphere uninstall -n velero
- Überprüfen Sie, ob der vSphere Pod mit dem Namen
velero
entfernt wurde.kubectl get pods -n velero
Wenn als Pod-Status „Wird beendet“ angezeigt wird, warten Sie, bis er entfernt wurde, bevor Sie fortfahren.
- Löschen Sie den vSphere Client, und löschen Sie den von Ihnen manuell erstellten vSphere-Namespace mit dem Namen
velero
.Hinweis: Fahren Sie nicht mit dem nächsten Schritt fort, ehe das Löschen des Namespace abgeschlossen ist. Sie können mithilfe von kubectl überprüfen, ob dervelero
-Namespace entfernt wurde (verwenden Sie kubectl aber nicht, um denvelero
-Namespace zu entfernen).
Ergänzung: Installieren des Velero-Plug-In für vSphere in einer Air-Gapped-Umgebung
Wenn Sie das Velero-Plug-In für vSphere in einer Air-Gapped-Umgebung installieren möchten, müssen Sie es mit benutzerdefinierten Images installieren. Sie müssen sicherstellen, dass die passenden Images von backup-driver
und data-manager-for-plugin
der angepassten Images in der erwarteten Registrierung verfügbar und über den Kubernetes-Cluster zugänglich sind. In einer Air-Gapped-Umgebung werden angepasste Images aus der privaten Registrierung erwartet, da auf die freigegebenen Images im Docker-Hub nicht zugegriffen werden kann.
- Laden Sie die freigegebenen Images von
velero-plugin-for-vsphere
,backup-driver
unddata-manager-for-plugin
herunter. - Benennen Sie die Images um, indem Sie sie mit passendem
<Registry endpoint and path>
und<Version tag>
kennzeichnen und in benutzerdefinierte Repositorys hochladen. - Installieren Sie das Plug-In mit dem von Ihnen angepassten
velero-plugin-for-vsphere
-Image.Wenn Sie Velero-Plug-In für vSphere in einem Vanilla-Cluster installieren, werden zwei zusätzliche Komponenten bereitgestellt, eine
backup-driver
-Bereitstellung und eindata-manager-for-plugin
-DaemonSet im Hintergrund. In den Supervisor- und Tanzu Kubernetes-Clustern wird lediglich einebackup-driver
-Bereitstellung zur Verfügung gestellt.Wenn Sie das Container-Image von
velero-plugin-for-vsphere
bereitstellen, werden die passendenbackup-driver
- unddata-manager-for-plugin
-Images mithilfe eines Mechanismus zur Image-Analyse analysiert.Container-Images werden nach folgendem Muster formalisiert:<Registry endpoint and path>/<Container name>:<Version tag>
Wenn Sie das
velero-plugin-for-vsphere
-Container-Image bereitstellen, werden die entsprechenden Images vonbackup-driver
unddata-manager-for-plugin
mit passendem<Registry endpoint and path>
und<Version tag>
analysiert.Betrachten Sie beispielsweise das folgendevelero-plugin-for-vsphere
-Container-Image:abc.io:8989/x/y/.../z/velero-plugin-for-vsphere:vX.Y.Z
Es wird erwartet, dass die folgenden passenden Images vonbackup-driver
unddata-manager-for-plugin
abgerufen werden:abc.io:8989/x/y/.../z/backup-driver:vX.Y.Z abc.io:8989/x/y/.../z/data-manager-for-plugin:vX.Y.Z
- Führen Sie eine Fehlerbehebung der Installation durch.
Wenn beim Analysieren der passenden Images von
backup-driver
unddata-manager-for-plugin
Probleme oder Fehler auftreten, greift die Installation auf entsprechende Images in den offiziellenvelerovsphereplugin
-Repositorys des Docker-Hubs zurück. Die folgenden Probleme lösen den Fallback-Mechanismus aus:- Ein unerwarteter Containername wird im benutzerdefinierten
velero-plugin-for-vsphere
-Image in der Benutzereingabe verwendet.x/y/velero-velero-plugin-for-vsphere:vX.Y.Z
wird beispielsweise verwendet. - Der Name der Velero-Bereitstellung wird nicht an
velero
angepasst. Beispiel: Ein Fehler wird ausgelöst, wenn der Name der Velero-Bereitstellung vor der Bereitstellung von Velero aufvelero-server
in der Velero-Dateimanifests
aktualisiert wird.Der vorhandene Mechanismus zur Analyse von Images in
velero-plugin-for-vsphere
kann die Velero-Bereitstellung nur mit dem festgelegten Namen (velero
) erkennen.
- Ein unerwarteter Containername wird im benutzerdefinierten