简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。
将应用程序从一个集群迁移到另一个集群
贡献者
建议更改
Velero的备份和恢复功能使其成为在集群之间迁移数据的重要工具。本节介绍如何在对象存储中从一个集群创建应用程序备份、然后将应用程序从同一对象存储还原到另一个集群、从而将应用程序从一个集群迁移到另一个集群。。
从第一个集群备份
集群1上的前提条件
-
集群上必须安装Trident。
-
必须创建一个三级存储后端和存储类。
-
集群上必须安装OADP操作员。
-
应配置DataSetionApplication。
使用以下规范配置DataSetionApplication对象。
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规范的备份位置中指定的对象存储位置(ONTAP S3)中。
还原到第二个集群
集群2上的前提条件
-
Trident必须安装在集群2上。
-
PostgreSQL应用程序必须尚未安装在PostgreSQL命名空间中。
-
OADP操作员必须安装在集群2上、并且备份存储位置必须指向从第一个集群存储备份的同一对象存储位置。
-
备份CR必须在第二个集群中可见。
从此备份还原此集群上的应用程序。使用以下YAML创建还原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关联。应用程序的状态与创建备份时相同。