简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。
将应用程序从一个集群迁移到另一个集群
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 相关联。应用程序的状态与备份时的状态相同。

