한 클러스터에서 다른 클러스터로 앱 마이그레이션
Velero의 백업 및 복원 기능은 클러스터 간에 데이터를 마이그레이션하는 데 유용한 도구입니다. 이 섹션에서는 한 클러스터의 개체 스토리지에 앱 백업을 만든 다음, 동일한 개체 스토리지에서 다른 클러스터로 앱을 복원하여 한 클러스터에서 다른 클러스터로 앱을 마이그레이션하는 방법을 설명합니다. .
첫 번째 클러스터에서 백업
클러스터 1의 전제 조건
-
클러스터에 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 위치는 첫 번째 클러스터에서 백업이 저장된 동일한 개체 저장소 위치를 가리켜야 합니다.
-
백업 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와 연결되어 있는 것을 확인할 수 있습니다. 앱의 상태는 백업이 수행된 시점과 동일합니다.