本繁體中文版使用機器翻譯,譯文僅供參考,若與英文版本牴觸,應以英文版本為準。
將應用程式從一個集群遷移到另一個集群
Velero 的備份和復原功能使其成為在叢集之間遷移資料的有價值的工具。本節介紹如何將應用程式從一個集群遷移到另一個集群,方法是在一個集群的物件儲存中建立應用程式的備份,然後將應用程式從相同物件儲存還原到另一個集群。。
從第一個叢集備份
集群 1 的先決條件
-
必須在叢集上安裝Trident 。
-
必須建立 trident 後端和儲存類別。
-
必須在叢集上安裝 OADP 操作員。
-
應該要配置 DataProtectionApplication。
使用以下規格來配置 DataProtectionApplication 物件。
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
-
在叢集上建立一個應用程式並備份該應用程式。例如,安裝一個 postgres 應用程式。

-
對備份 CR 使用以下規格:
spec:
csiSnapshotTimeout: 10m0s
defaultVolumesToFsBackup: false
includedNamespaces:
- postgresql
itemOperationTimeout: 4h0m0s
snapshotMoveData: true
storageLocation: velero-sample-1
ttl: 720h0m0s

您可以點擊所有實例選項卡以查看正在建立的不同對象,它們經過不同的階段,最終進入備份完成階段。
命名空間 postgresql 中的資源備份將儲存在 OADP 規範中的 backupLocation 中指定的物件儲存位置 (ONTAP S3) 中。
恢復到第二個集群
集群 2 的先決條件
-
必須在叢集 2 上安裝Trident 。
-
postgresql 應用程式一定不能已經安裝在 postgresql 命名空間中。
-
OADP 操作員必須安裝在叢集 2 上,且 BackupStorage Location 必須指向儲存第一個叢集的備份的相同物件儲存位置。
-
備份 CR 必須對第二個叢集可見。




從備份還原此叢集上的應用程式。使用以下 yaml 建立 Restore CR。
apiVersion: velero.io/v1 kind: Restore apiVersion: velero.io/v1 metadata: name: restore namespace: openshift-adp spec: backupName: backup restorePVs: true
恢復完成後,您將看到 postgresql 應用程式正在此叢集上運行,並與 pvc 和對應的 pv 相關聯。應用程式的狀態與備份時的狀態相同。

