Migrieren einer App von einem Cluster zu einem anderen
Die Backup- und Restore-Funktionen von Velero machen es zu einem wertvollen Tool für die Migration von Daten zwischen Clustern. In diesem Abschnitt wird beschrieben, wie Sie Apps von einem Cluster zu einem anderen migrieren, indem Sie ein Backup der App im Objektspeicher von einem Cluster erstellen und dann die App aus demselben Objektspeicher in einen anderen Cluster wiederherstellen. .
Backup vom ersten Cluster
Voraussetzungen für Cluster 1
-
Trident muss auf dem Cluster installiert sein.
-
Es müssen ein dreigestelltes Backend und eine Storage-Klasse erstellt werden.
-
Der OADP-Operator muss auf dem Cluster installiert sein.
-
Die DataProtectionApplication sollte konfiguriert werden.
Verwenden Sie die folgende Spezifikation, um das DataProtectionApplication-Objekt zu konfigurieren.
spec: backupLocations: - velero: config: insecureSkipTLSVerify: 'false' profile: default region: us-east-1 s3ForcePathStyle: 'true' s3Url: 'https://10.61.181.161' credential: key: cloud name: ontap-s3-credentials default: true objectStorage: bucket: velero caCert: <base-64 encoded tls certificate> prefix: container-backup provider: aws configuration: nodeAgent: enable: true uploaderType: kopia velero: defaultPlugins: - csi - openshift - aws - kubevirt
-
Erstellen Sie eine Anwendung auf dem Cluster und erstellen Sie ein Backup dieser Anwendung. Installieren Sie beispielsweise eine Postgres-Anwendung.
-
Verwenden Sie die folgenden Spezifikationen für die Backup-CR:
spec: csiSnapshotTimeout: 10m0s defaultVolumesToFsBackup: false includedNamespaces: - postgresql itemOperationTimeout: 4h0m0s snapshotMoveData: true storageLocation: velero-sample-1 ttl: 720h0m0s
Sie können auf die Registerkarte Alle Instanzen klicken, um die verschiedenen Objekte zu sehen, die erstellt werden und durch verschiedene Phasen zu bewegen, um schließlich zur Backup abgeschlossen Phase zu kommen.
Eine Sicherung der Ressourcen im Namespace postgresql wird im Objektspeicherort (ONTAP S3) gespeichert, der im Backup-Speicherort in der OADP-Spezifikation angegeben ist.
Wiederherstellung auf einem zweiten Cluster
Voraussetzungen für Cluster 2
-
Trident muss auf Cluster 2 installiert sein.
-
Die postgresql-App darf NICHT bereits im postgresql-Namespace installiert sein.
-
Der OADP-Operator muss auf Cluster 2 installiert sein, und der BackupStorage-Speicherort muss auf denselben Objektspeicherort verweisen, an dem das Backup vom ersten Cluster aus gespeichert wurde.
-
Die Backup-CR muss vom zweiten Cluster aus sichtbar sein.
Stellen Sie die App auf diesem Cluster aus dem Backup wieder her. Verwenden Sie die folgende yaml-Datei, um die CR-Wiederherstellung zu erstellen.
apiVersion: velero.io/v1 kind: Restore apiVersion: velero.io/v1 metadata: name: restore namespace: openshift-adp spec: backupName: backup restorePVs: true
Wenn die Wiederherstellung abgeschlossen ist, sehen Sie, dass die postgresql-App auf diesem Cluster ausgeführt wird und mit der pvc und einem entsprechenden pv verknüpft ist. Der Status der App ist der gleiche wie beim Backup.