백업 및 복원
자세한 내용은 백업 및 복원에 대해 알아보십시오.
초록
1장. 백업 및 복원
클러스터 백업 및 복원 Operator는 hub 클러스터에서 실행되며 Kubernetes 허브 클러스터 장애에 대한 Red Hat Advanced Cluster Management에 대한 재해 복구 솔루션을 제공합니다. hub 클러스터가 실패하면 모든 관리 클러스터가 제대로 작동하는 경우에도 정책 구성 기반 경고 또는 클러스터 업데이트와 같은 일부 기능이 작동하지 않습니다. hub 클러스터를 사용할 수 없는 경우 복구 계획이 필요한지 또는 새로 배포된 허브 클러스터에서 데이터를 복구해야 하는지 여부를 결정해야 합니다.
초기 허브 클러스터에서 데이터를 백업하고 하나 이상의 수동 허브 클러스터 구성을 설정하여 활성 클러스터를 사용할 수 없게 되면 관리형 클러스터를 제어하는 방법을 알아봅니다.
또한 백업 및 복원 구성 요소에서 기본 허브 클러스터를 사용할 수 없을 때 관리자에게 알리는 정책을 사용하여 경고를 보내는 방법에 대해 자세히 알아보고 복원 작업이 필요할 수 있습니다. 기본 허브 클러스터가 활성 상태이고 클러스터를 관리하는 경우에도 백업 솔루션이 예상대로 작동하지 않는 경우 동일한 정책에서 관리자에게 경고합니다. 백업 데이터가 생성되지 않는 문제 또는 백업 데이터 및 사용 불가능한 허브 클러스터를 초래할 수 있는 기타 문제가 보고됩니다.
클러스터 백업 및 복원 Operator는 OADP Operator 에 따라 Velero를 설치하고 허브 클러스터에서 데이터가 저장된 백업 스토리지 위치로의 연결을 생성합니다. Velero는 백업 및 복원 작업을 실행하는 구성 요소입니다. 클러스터 백업 및 복원 Operator 솔루션은 관리 클러스터, 애플리케이션, 정책 및 베어 메탈 자산을 포함한 모든 Red Hat Advanced Cluster Management 허브 클러스터 리소스에 대한 백업 및 복원 지원을 제공합니다.
클러스터 백업 및 복원 Operator는 허브 클러스터 설치를 확장하는 타사 리소스의 백업을 지원합니다. 이 백업 솔루션을 사용하면 지정된 시간 간격으로 실행되는 cron 기반 백업 일정을 정의할 수 있습니다. 허브 클러스터가 다운되면 새 허브 클러스터를 배포하고 백업된 데이터가 새 허브 클러스터로 이동합니다.
다음 항목을 계속 읽고 백업 및 복원 연산자에 대해 자세히 알아봅니다.Continue reading the following topics to learn more about the backup and restore operator:
1.1. 활성 수동 구성
활성 수동 구성에는 하나의 활성 허브 클러스터 및 수동 허브 클러스터가 있습니다. 활성 허브 클러스터는 BackupSchedule.cluster.open-cluster-management.io 리소스를 사용하여 정의된 시간 간격으로 클러스터를 관리하고 리소스를 백업하는 기본 허브 클러스터라고도 합니다.
수동 허브 클러스터는 지속적으로 최신 백업을 검색하고 수동 데이터를 복원합니다. 수동 허브는 Restore.cluster.open-cluster-management.io 리소스를 사용하여 새 백업 데이터를 사용할 수 있는 경우 기본 허브 클러스터에서 수동 데이터를 복원합니다. 이러한 허브 클러스터는 기본 허브 클러스터가 중단될 때 기본 허브 클러스터가 기본 허브가 되도록 보류 중입니다.
활성 및 수동 허브 클러스터는 동일한 스토리지 위치에 연결됩니다. 여기서 기본 허브 클러스터는 기본 허브 클러스터 백업에 액세스할 수동 허브 클러스터의 데이터를 백업합니다. 이 자동 복원 구성을 설정하는 방법에 대한 자세한 내용은 백업 확인 중에 수동 리소스 복원 섹션을 참조하십시오.
다음 다이어그램에서 활성 허브 클러스터는 로컬 클러스터를 관리하고 주기적으로 hub 클러스터 데이터를 백업합니다.
패시브 허브 클러스터는 관리형 클러스터 활성화 데이터를 제외하고 이 데이터를 복원하여 관리 클러스터를 수동 허브 클러스터로 이동합니다. 수동 허브 클러스터는 수동 데이터를 지속적으로 복원할 수 있으며 백업 확인 중에 수동 리소스 복구 섹션을 참조하십시오. 패시브 허브 클러스터는 수동 데이터를 일회성 작업으로 복원할 수 있으며 자세한 내용은 수동 리소스 복구 섹션을 참조하십시오.
1.2. 재해 복구
기본 허브 클러스터가 실패하면 관리자가 관리형 클러스터를 인수할 수동 허브 클러스터를 선택합니다. 다음 이미지에서 관리자는 Hub 클러스터 N 을 새 기본 허브 클러스터로 사용하기로 결정합니다.
hub cluster N 은 관리형 클러스터 활성화 데이터를 복원합니다. 이 시점에서 관리 클러스터는 Hub 클러스터 N과 연결됩니다. 관리자는 BackupSchedule.cluster.open-cluster-management.io 리소스를 생성하고 초기 기본 허브 클러스터와 동일한 스토리지 위치에 백업을 저장하여 새 기본 허브 클러스터, Hub 클러스터 N 에서 백업을 활성화합니다.
다른 모든 수동 허브 클러스터에서는 이제 새 기본 허브 클러스터에서 생성한 백업 데이터를 사용하여 수동 데이터를 복원합니다. Hub N 은 이제 기본 허브 클러스터로서 클러스터를 관리하고 데이터를 백업합니다.
참고:
- 이전 다이어그램의 프로세스 1은 기본 허브 클러스터가 실패하여 교체해야 하는지 또는 hub 클러스터와 관리 클러스터 간에 네트워크 통신 오류가 있는지 확인해야 하므로 자동화되지 않습니다. 관리자는 또한 어떤 패시브 허브 클러스터가 기본 허브 클러스터가 될지 결정합니다. Ansible 작업과의 정책 통합은 백업 정책에서 백업 오류를 보고할 때 Ansible 작업을 실행하도록 하여 이 단계를 자동화하는 데 도움이 될 수 있습니다.
- 이전 다이어그램의 프로세스 2는 수동입니다. 관리자가 새 기본 허브 클러스터에서 백업을 생성하지 않으면 cron 작업으로 적극적으로 실행되는 백업을 사용하여 관리자에게 알립니다.
1.3. 백업 및 복원 Operator 아키텍처
Operator는 Red Hat Advanced Cluster Management 백업 일정과 이러한 백업을 처리하고 복원하는 데 사용되는 restore.cluster.open-cluster-management.io 리소스를 정의하는 BackupSchedule.cluster.open-cluster-management.io 리소스를 정의합니다. Operator는 해당 Velero 리소스를 생성하고 원격 클러스터 및 복원해야 하는 기타 허브 클러스터 리소스를 백업하는 데 필요한 옵션을 정의합니다. 다음 다이어그램을 확인합니다.
1.3.1. 백업되는 리소스
클러스터 백업 및 복원 Operator 솔루션은 관리 클러스터, 애플리케이션, 정책 및 베어 메탈 자산과 같은 모든 허브 클러스터 리소스에 대한 백업 및 복원 지원을 제공합니다. 솔루션을 사용하여 기본 허브 클러스터 설치를 확장하는 타사 리소스를 백업할 수 있습니다. 이 백업 솔루션을 사용하면 지정된 시간 간격으로 실행되고 허브 클러스터 콘텐츠의 최신 버전을 지속적으로 백업하는 cron 기반 백업 일정을 정의할 수 있습니다.
hub 클러스터가 실패할 때 hub 클러스터를 교체해야 하거나 재해 시나리오에 있는 경우 새 허브 클러스터를 배포하고 백업할 수 있으며 데이터를 새 허브 클러스터로 이동할 수 있습니다.
백업 데이터를 식별하기 위해 다음과 같이 정렬된 클러스터 백업 및 복원 프로세스 목록을 확인합니다.
-
MultiClusterHub네임스페이스의 모든 리소스를 제외합니다. 이는 현재 허브 클러스터 ID에 연결된 설치 리소스를 백업하지 않기 위한 것이며 백업하면 안 됩니다. -
.open-cluster-management.io가 접미사로 지정된 API 버전으로 모든 CRD를 백업합니다. 이 접미사는 모든 Red Hat Advanced Cluster Management 리소스가 백업되었음을 나타냅니다. -
다음 API 그룹에서 모든 CRD를 백업합니다.
argoproj.io,app.k8s.io,core.observatorium.io,hive.openshift.io. -
다음 API 그룹에서 모든 CRD를 제외합니다.
admission.cluster.open-cluster-management.io,admission.work.open-cluster-management.io,internal.open-cluster-management.io,operator.open-cluster-management.io,work.open-cluster-management.io,search.open-cluster-management.io,admission.hive.openshift.io,velero.io.io . -
포함된 API 그룹의 일부이지만 필요하지 않거나 백업되는 owner-resources에 의해 다시 생성되는 다음 CRD를 제외합니다.
clustermanagementaddon,observabilityaddon,applicationmanager,cert,policycontrolleriampolicycontroller,searchcollector,workmanager,backupschedule,restore,clusterclaim.cluster.open-cluster-management.io. -
cluster.open-cluster-management.io/type,hive.openshift.io/secret-type,cluster.open-cluster-management.io/backup라벨이 있는 보안 및 ConfigMap을 백업합니다. 백업하려는 기타 리소스에 대해
cluster.open-cluster-management.io/backup레이블을 사용하며 이전에 언급한 기준에 포함되지 않습니다. 다음 예제를 참조하십시오.apiVersion: my.group/v1alpha1 kind: MyResource metadata: labels: cluster.open-cluster-management.io/backup: ""참고:
hive.openshift.io.ClusterDeployment리소스에서 사용하는 보안을 백업해야 하며 콘솔을 사용하여 클러스터를 생성할 때만cluster.open-cluster-management.io/backup레이블로 자동으로 주석이 추가됩니다. 대신 GitOps를 사용하여 Hive 클러스터를 배포하는 경우cluster.open-cluster-management.io/backup레이블을ClusterDeployment에서 사용하는 보안에 수동으로 추가해야 합니다.백업하지 않으려는 특정 리소스를 제외합니다. 예를 들어 백업 프로세스에서 Velero 리소스를 제외하려면 다음 예제를 참조하십시오.
apiVersion: my.group/v1alpha1 kind: MyResource metadata: labels: velero.io/exclude-from-backup: "true"
1.3.2. 관리형 클러스터 활성화 시 복원된 리소스
리소스에 cluster.open-cluster-management.io/backup 레이블을 추가하면 acm-resources-generic-schedule 백업에서 리소스가 자동으로 백업됩니다. 관리 클러스터를 새 허브 클러스터로 이동한 후 복원된 리소스에서 veleroManagedClustersBackupName:latest 가 사용되는 경우에만 리소스를 복원해야 하는 경우 레이블 값을 cluster-activation 으로 설정해야 합니다. 이렇게 하면 관리 대상 클러스터 활성화를 호출하지 않는 한 리소스가 복원되지 않습니다. 다음 예제를 확인합니다.
apiVersion: my.group/v1alpha1
kind: MyResource
metadata:
labels:
cluster.open-cluster-management.io/backup: cluster-activation
cluster.open-cluster-management.io/backup: cluster-activation 레이블로 식별되고 acm-resources-generic-schedule 백업으로 저장된 활성화 데이터 리소스 외에도 클러스터 백업 및 복원 Operator에는 기본적으로 활성화 세트의 몇 가지 리소스가 포함됩니다. acm-managed-clusters-schedule 백업으로 지원되는 리소스는 다음과 같습니다.
-
managedcluster.cluster.open-cluster-management.io -
managedcluster.clusterview.open-cluster-management.io -
klusterletaddonconfig.agent.open-cluster-management.io -
managedclusteraddon.addon.open-cluster-management.io -
managedclusterset.cluster.open-cluster-management.io -
managedclusterset.clusterview.open-cluster-management.io -
managedclustersetbinding.cluster.open-cluster-management.io -
clusterpool.hive.openshift.io -
clusterclaim.hive.openshift.io -
clustercurator.cluster.open-cluster-management.io
1.3.3. 리소스 요청 및 제한 사용자 정의
Velero가 처음 설치되면 다음 샘플에 정의된 대로 Velero pod가 기본 CPU 및 메모리 제한으로 설정됩니다.
resources: limits: cpu: "1" memory: 256Mi requests: cpu: 500m memory: 128Mi
이전 샘플의 제한은 일부 시나리오에서 잘 작동하지만 클러스터가 많은 리소스를 백업하는 경우 업데이트해야 할 수 있습니다. 예를 들어, 백업이 2000 클러스터를 관리하는 hub 클러스터에서 실행되면 메모리 부족 오류(OOM)로 인해 Velero pod가 충돌합니다. 이 시나리오에 대해 다음 구성을 통해 백업이 완료될 수 있습니다.
limits:
cpu: "2"
memory: 1Gi
requests:
cpu: 500m
memory: 256Mi
Velero pod 리소스에 대한 제한 및 요청을 업데이트하려면 DataProtectionApplication 리소스를 업데이트하고 Velero pod에 대한 resourceAllocation 템플릿을 삽입해야 합니다. 다음 샘플을 확인합니다.
apiVersion: oadp.openshift.io/v1alpha1
kind: DataProtectionApplication
metadata:
name: velero
namespace: open-cluster-management-backup
spec:
...
configuration:
...
velero:
podConfig:
resourceAllocations:
limits:
cpu: "2"
memory: 1Gi
requests:
cpu: 500m
memory: 256Mi
DataProtectionApplication 매개변수에 대한 자세한 내용은 Velero 리소스 요청 및 제한 사용자 지정을 참조하십시오.
1.4. 관리형 클러스터 활성화 데이터
관리형 클러스터 활성화 데이터 또는 기타 활성화 데이터는 백업 리소스입니다. 새 hub 클러스터에서 활성화 데이터를 복원하면 관리 클러스터는 복원이 실행되는 허브 클러스터에서 적극적으로 관리됩니다. 활성화 데이터 리소스는 cluster.open-cluster-management.io/backup: cluster-activation 레이블을 사용할 때 관리 클러스터 백업 및 리소스 일반 백업에 의해 저장됩니다.
Operator를 사용하는 방법을 알아보려면 백업 및 복원 연산자 관리를 참조하십시오.
1.5. 활성화 데이터를 복원하기 전에 클러스터 준비
새 허브 클러스터에서 활성화 데이터를 복원하기 전에 다음 단계를 완료하여 데이터 손상 또는 클러스터 손실을 방지합니다.
기본 클러스터를 종료합니다.
자세한 내용은 기본 클러스터 축소를 참조하십시오.
기존 관리 클러스터를 복원 허브로 사용하려면
MultiClusterHub에서disableHubSelfManagement를true로 설정합니다.자세한 내용은 disableHubSelfManagement 주제를 참조하십시오.
spec.disableHubSelfManagement가true로 설정된 다음 예제를 참조하십시오.apiVersion: operator.open-cluster-management.io/v1 kind: MultiClusterHub metadata: name: multiclusterhub namespace: <namespace> spec: disableHubSelfManagement: true
참고: 활성화 데이터가 복원 허브 클러스터로 이동하기 전에 복원 허브 클러스터에서 자체 관리 옵션이 비활성화되지 않으면 관리형 클러스터 네임스페이스 충돌의 로컬 클러스터 klusterlet 및 klusterlet이 있습니다. 결과적으로 복원 허브 클러스터는 관리 클러스터를 사용하고 복원된 관리 클러스터를 사용하여 자체적으로 관리됩니다. 관리형 클러스터를 분리 작업의 일부로 분리하면 관리 클러스터는 프로비저닝 해제 요청을 수신하여 복원 허브 클러스터 rmeoving 자체를 생성합니다.
1.6. 백업 및 복원 Operator 관리
클러스터 백업 및 복원 Operator가 자동으로 설치되지 않습니다. MultiClusterHub 리소스에서 cluster-backup 매개변수를 true 로 설정하여 백업 구성 요소를 활성화합니다. 활성화되면 open-cluster-management-backup 네임스페이스에 클러스터 백업 및 복원 Operator가 설치됩니다. 클러스터 백업 Operator를 설치하면 OADP Operator도 클러스터 백업 및 복원 Operator와 동일한 네임스페이스에 자동으로 설치됩니다.
참고:
-
OADP Operator 1.0은 더 이상 다중 아키텍처 빌드를 지원하지 않으며 공식 릴리스에 대한 x86_64 빌드만 생성합니다. 결과적으로
x86_64이외의 아키텍처를 사용하는 경우 백업 구성 요소에서 설치한 OADP Operator를 올바른 버전으로 교체해야 합니다. 버전을 교체하려면 OADP Operator를 제거하고 아키텍처와 일치하는 Operator를 찾은 다음 설치합니다. -
이전에 허브 클러스터에 OADP Operator를 설치 및 사용한 경우 백업 구성 요소가 구성 요소 네임스페이스에 설치된 OADP에서 작동하므로 이 버전을 제거합니다. 백업 구성 요소와 함께 설치된 OADP Operator가 소유한
DataProtectionApplication리소스에 대해 동일한 스토리지 위치를 사용합니다. 이는 이전 Operator와 동일한 백업 데이터에 액세스합니다. 이제 Velero 백업 리소스가 이 허브 클러스터의 새 OADP Operator 네임스페이스 내에 로드됩니다.
Velero 는 Red Hat Advanced Cluster Management hub 클러스터에 OADP Operator와 함께 설치됩니다. Velero는 Red Hat Advanced Cluster Management hub 클러스터 리소스를 백업하고 복원하는 데 사용됩니다.
Velero에 지원되는 스토리지 공급자 목록은 S3 호환 오브젝트 저장소 공급자를 참조하십시오.
1.6.1. 사전 요구 사항
백업 및 복원 연산자를 활성화하고 사용하려면 다음 사전 요구 사항을 충족해야 합니다.
- 백업이 저장된 클라우드 스토리지에 대한 인증 정보 시크릿 생성 단계를 완료해야 합니다. 시크릿 리소스는 백업 구성 요소 네임스페이스에 있는 OADP Operator 네임스페이스에 생성해야 합니다.
활성 및 수동 허브 클러스터 모두의 경우:
-
Red Hat OpenShift Container Platform 클러스터에서 Kubernetes Operator 버전 2.6.x용 Red Hat Advanced Cluster Management를 설치합니다. Red Hat Advanced Cluster Management를 설치할 때
MultiClusterHub리소스가 자동으로 생성되고실행 중상태가 표시됩니다. -
클러스터 백업 및 복원 Operator를 수동으로 설치해야 합니다. 클러스터 백업 및 복원 Operator (
cluster-backup)를 활성화합니다.cluster-backup매개변수를true로 설정하여MultiClusterHub리소스를 편집합니다. 그러면 백업 구성 요소와 동일한 네임스페이스에 OADP Operator가 설치됩니다.
-
Red Hat OpenShift Container Platform 클러스터에서 Kubernetes Operator 버전 2.6.x용 Red Hat Advanced Cluster Management를 설치합니다. Red Hat Advanced Cluster Management를 설치할 때
패시브 허브 클러스터의 경우:
- 수동 허브 클러스터에서 복원 작업을 실행하기 전에 hub 클러스터를 수동으로 구성하고 활성 허브 클러스터에 모든 운영자를 설치하고 활성 허브 클러스터와 동일한 네임스페이스에 설치해야 합니다.
-
Red Hat Advanced Cluster Management Operator가 초기 허브 클러스터와 동일한 네임스페이스에 설치되어 있는지 확인합니다. 그런 다음
DataProtectionApplication리소스를 만들고 초기 허브 클러스터가 데이터를 백업한 것과 동일한 스토리지 위치에 연결합니다.
DataProtectionApplication리소스를 생성할 때 생성된 시크릿을 사용합니다.DataProtectionApplication리소스의 인스턴스를 생성하려면 다음 단계를 완료합니다.- Red Hat OpenShift Container Platform 콘솔에서 Operator > 설치된 Operator 를 선택합니다.
-
DataProtectionApplication에서
Create instance를 클릭합니다. -
{ocp-short) 콘솔을 사용하거나
DataProtectionApplication예제에서 언급한 YAML 파일을 사용하여 구성을 선택하여 Velero 인스턴스를 생성합니다. -
DataProtectionApplication네임스페이스를open-cluster-management-backup으로 설정합니다. DataProtectionApplication리소스에 대해 사양(spec:) 값을 적절하게 설정합니다. 그런 다음 만들기 를 클릭합니다.기본 백업 스토리지 위치를 사용하려는 경우
backupStorageLocations섹션에서 다음 값,default: true를 설정합니다. 다음DataProtectionApplication리소스 샘플을 확인합니다.apiVersion: oadp.openshift.io/v1alpha1 kind: DataProtectionApplication metadata: name: dpa-sample spec: configuration: velero: defaultPlugins: - openshift - aws restic: enable: true backupLocations: - name: default velero: provider: aws default: true objectStorage: bucket: my-bucket prefix: my-prefix config: region: us-east-1 profile: "default" credential: name: cloud-credentials key: cloud snapshotLocations: - name: default velero: provider: aws config: region: us-west-2 profile: "default"DataProtectionApplication리소스를 생성하는 예제를 참조하십시오.
- 복원 작업을 실행하기 전에 Ansible Automation Platform, Red Hat OpenShift Container Platform GitOps 또는 인증서 관리자와 같은 다른 Operator가 설치되어 있는지 확인합니다. 이렇게 하면 새 허브 클러스터가 초기 허브 클러스터와 동일한 방식으로 구성됩니다.
- 패시브 허브 클러스터는 백업 및 복원 Operator를 설치할 때 초기 허브 클러스터와 동일한 네임스페이스 이름을 사용하고 이전 허브 클러스터에 구성된 다른 Operator를 사용해야 합니다.
1.6.2. 백업 및 복원 연산자 활성화
처음으로 MultiClusterHub 리소스를 생성할 때 클러스터 백업 및 복원 Operator를 활성화할 수 있습니다. cluster-backup 매개변수가 true 로 설정됩니다. Operator가 활성화되면 Operator 리소스가 설치됩니다.
MultiClusterHub 리소스가 이미 생성된 경우 MultiClusterHub 리소스를 편집하여 클러스터 백업 Operator를 설치하거나 제거할 수 있습니다. 클러스터 백업 Operator를 제거하려면 cluster-backup 을 false 로 설정합니다.
백업 및 복원 Operator가 활성화되면 MultiClusterHub 리소스가 다음 YAML 파일과 유사합니다.
apiVersion: operator.open-cluster-management.io/v1
kind: MultiClusterHub
metadata:
name: multiclusterhub
namespace: open-cluster-management
spec:
availabilityConfig: High
enableClusterBackup: false
imagePullSecret: multiclusterhub-operator-pull-secret
ingress:
sslCiphers:
- ECDHE-ECDSA-AES256-GCM-SHA384
- ECDHE-RSA-AES256-GCM-SHA384
- ECDHE-ECDSA-AES128-GCM-SHA256
- ECDHE-RSA-AES128-GCM-SHA256
overrides:
components:
- enabled: true
name: multiclusterhub-repo
- enabled: true
name: search
- enabled: true
name: management-ingress
- enabled: true
name: console
- enabled: true
name: insights
- enabled: true
name: grc
- enabled: true
name: cluster-lifecycle
- enabled: true
name: volsync
- enabled: true
name: multicluster-engine
- enabled: true <<<<<<<<
name: cluster-backup
separateCertificateManagement: false1.6.3. backup 및 restore 연산자 사용
백업을 예약 및 복원하려면 다음 단계를 완료합니다.
-
백업 및 복원 Operator인
backupschedule.cluster.open-cluster-management.io를 사용하여 백업 일정을 생성하고restore.cluster.open-cluster-management.io리소스를 사용하여 백업을 복원합니다. 다음 명령을 실행하여
backupschedule.cluster.open-cluster-management.io리소스를 생성합니다.kubectl create -f cluster_v1beta1_backupschedule.yaml
cluster_v1beta1_backupschedule.yaml리소스는 다음 파일과 유사합니다.apiVersion: cluster.open-cluster-management.io/v1beta1 kind: BackupSchedule metadata: name: schedule-acm namespace: open-cluster-management-backup spec: veleroSchedule: 0 */2 * * * # Create a backup every 2 hours veleroTtl: 120h # deletes scheduled backups after 120h; optional, if not specified, the maximum default value set by velero is used - 720h
backupschedule.cluster.open-cluster-management.io사양속성에 대한 다음 설명을 확인합니다.-
veleroSchedule은 필수 속성이며 백업을 예약하는 cron 작업을 정의합니다. -
veleroTtl은 선택적 속성이며 예약된 백업 리소스에 대한 만료 시간을 정의합니다. 지정하지 않으면 Velero에 의해 설정된 최대 기본값이 사용되며, 이는 10.0.0.1h입니다.
-
3
schedule.velero.io리소스의 정의를 표시하는backupschedule.cluster.open-cluster-management.io리소스의 상태를 확인합니다. 다음 명령을 실행합니다.oc get BackupSchedule -n open-cluster-management-backup
복원 시나리오에서는 복원 시나리오를 위해 다른 허브 클러스터에서 복원 작업이 실행됩니다. 복원 작업을 시작하려면 백업을 복원하려는 hub 클러스터에서
restore.cluster.open-cluster-management.io리소스를 생성합니다.참고: 새 hub 클러스터에서 백업을 복원할 때 백업이 생성된 이전 허브 클러스터가 종료되었는지 확인합니다. 관리 클러스터 조정이 실행 중인 경우 관리형 클러스터를 더 이상 사용할 수 없음을 발견하면 이전 hub 클러스터에서 관리 클러스터를 다시 가져오려고 합니다.
클러스터 백업 및 복원 Operator,
backupschedule.cluster.open-cluster-management.io및restore.cluster.open-cluster-management.io리소스를 사용하여 백업 또는 복원 리소스를 생성할 수 있습니다.cluster-backup-operator샘플을 참조하십시오.다음 명령을 실행하여
restore.cluster.open-cluster-management.io리소스를 생성합니다.kubectl create -f cluster_v1beta1_backupschedule.yaml
리소스는 다음 파일과 유사합니다.
apiVersion: cluster.open-cluster-management.io/v1beta1 kind: Restore metadata: name: restore-acm namespace: open-cluster-management-backup spec: veleroManagedClustersBackupName: latest veleroCredentialsBackupName: latest veleroResourcesBackupName: latest
다음 명령을 실행하여 Velero
복원리소스를 확인합니다.oc get restore.velero.io -n open-cluster-management-backup
다음 명령을 실행하여 Red Hat Advanced Cluster Management
Restore이벤트를 확인합니다.oc describe restore.cluster.open-cluster-management.io -n open-cluster-management-backup
Restore YAML 리소스의 매개변수 및 샘플에 대한 설명은 백업 복원 섹션을 참조하십시오.
1.6.4. 백업 데이터 확장
리소스에 cluster.open-cluster-management.io/backup 라벨을 추가하여 클러스터 백업 및 복원으로 타사 리소스를 백업할 수 있습니다. 레이블 값은 빈 문자열을 포함하여 모든 문자열이 될 수 있습니다. 백업 중인 구성 요소를 식별하는 데 도움이 될 수 있는 값을 사용합니다. 예를 들어, 구성 요소를 IDP 솔루션으로 제공하는 경우 cluster.open-cluster-management.io/backup: idp 레이블을 사용합니다.
참고: 관리 클러스터 활성화 리소스가 복원될 때 리소스를 복원하려면 cluster.open-cluster-management.io/backup 레이블에 cluster-activation 값을 사용합니다. 관리형 클러스터 활성화 리소스를 복원하면 관리 클러스터는 복원이 시작된 허브 클러스터에서 적극적으로 관리합니다.
1.6.5. 클러스터 백업 예약
backupschedule.cluster. open-cluster-management.io 리소스를 생성할 때 백업 일정이 활성화됩니다. 다음 backupschedule.cluster.open-cluster-management.io 샘플을 확인합니다.
apiVersion: cluster.open-cluster-management.io/v1beta1 kind: BackupSchedule metadata: name: schedule-acm namespace: open-cluster-management-backup spec: veleroSchedule: 0 */2 * * * veleroTtl: 120h
backupschedule.cluster.open-cluster-management.io 리소스를 생성한 후 다음 명령을 실행하여 예약된 클러스터 백업 상태를 가져옵니다.
oc get BackupSchedule -n open-cluster-management-backup
이전 명령의 < oadp-operator-ns > 매개변수는 BackupSchedule 이 생성되는 네임스페이스입니다. 이는 OADP Operator가 설치된 네임스페이스와 동일합니다. backupschedule.cluster.open-cluster-management.io 리소스는 백업을 생성하는 데 사용되는 6개의 schedule.velero.io 리소스를 생성합니다. 다음 명령을 실행하여 예약된 백업 목록을 확인합니다.
os get schedules -A | grep acm
리소스는 다음 그룹에서 별도로 백업됩니다.
- 인증 정보 백업: Hive 인증 정보, Red Hat 고급 클러스터 관리 및 사용자가 생성한 인증 정보 및 ConfigMap을 저장하는 백업 파일입니다.
-
리소스 백업: Red Hat Advanced Cluster Management 리소스용 백업 1개와 일반 리소스용 백업이 포함됩니다. 이러한 리소스는
cluster.open-cluster-management.io/backup레이블을 사용합니다. - 관리형 클러스터 백업: 백업이 복원되는 허브 클러스터에 대한 관리형 클러스터 연결을 활성화하는 리소스만 포함합니다.
참고: 리소스 백업 파일에는 관리되는 클러스터별 리소스가 포함되어 있지만 관리 클러스터를 허브 클러스터에 연결하는 리소스의 서브 세트는 포함되지 않습니다. 관리 클러스터를 연결하는 리소스를 활성화 리소스라고 하며 관리형 클러스터 백업에 포함됩니다. 새 허브 클러스터에서 인증 정보 및 리소스 백업에 대해서만 백업을 복원하면 새 허브 클러스터에서 Hive API를 사용하여 생성된 모든 관리 클러스터를 분리된 상태로 표시합니다. 그러나 가져오기 작업을 사용하여 기본 허브 클러스터에서 가져온 관리형 클러스터는 수동 허브 클러스터에서 활성화 데이터가 복원될 때만 나타납니다. 현재 관리 클러스터는 백업 파일을 생성한 원래 허브 클러스터에 계속 연결됩니다.
활성화 데이터가 복원되면 Hive API를 사용하여 생성된 관리 클러스터만 새 허브 클러스터와 자동으로 연결됩니다. 다른 모든 관리 클러스터는 Pending 상태로 표시되고 새 클러스터에 수동으로 다시 연결해야 합니다.
1.6.6. 백업 복원
일반적인 복원 시나리오에서는 백업이 실행되는 hub 클러스터를 사용할 수 없으며 백업된 데이터를 새 허브 클러스터로 이동해야 합니다. 이 작업은 새 허브 클러스터에서 클러스터 복원 작업을 실행하여 수행됩니다. 이 경우 복원 작업은 백업이 생성된 것과 다른 허브 클러스터에서 실행됩니다.
백업이 수집된 동일한 허브 클러스터에서 데이터를 복원하려는 경우도 있으므로 이전 스냅샷의 데이터를 복구할 수 있습니다. 이 경우 복원 및 백업 작업 모두 동일한 허브 클러스터에서 실행됩니다.
hub 클러스터에서 restore.cluster.open-cluster-management.io 리소스를 생성한 후 다음 명령을 실행하여 복원 작업 상태를 가져올 수 있습니다. oc get restore -n open-cluster-management-backup. 또한 백업 파일에 포함된 백업 리소스가 생성되었는지 확인할 수 있어야 합니다.
참고: Restore passive resources 섹션에서 언급한 대로 syncRestoreWithNewBackups 옵션을 사용하여 true 로 설정하지 않으면 restore.cluster.open-cluster-management.io 리소스가 한 번 실행됩니다. 복원 작업이 완료된 후 동일한 복원 작업을 다시 실행하려면 동일한 사양 옵션을 사용하여 새 restore.cluster.open-cluster-management.io 리소스를 생성해야 합니다.
복원 작업은 백업 작업에서 생성한 세 가지 백업 유형을 모두 복원하는 데 사용됩니다. 그러나 특정 유형의 백업만 설치하도록 선택할 수 있습니다(관리된 클러스터만, 사용자 인증 정보만 또는 허브 클러스터 리소스만).
복원은 다음과 같은 세 가지 필수 사양 속성을 정의합니다. 여기서 복원 논리는 백업 파일 유형에 대해 정의됩니다.
-
veleroManagedClustersBackupName은 관리 클러스터 활성화 리소스에 대한 복원 옵션을 정의하는 데 사용됩니다. -
veleroCredentialsBackupName은 사용자 자격 증명의 복원 옵션을 정의하는 데 사용됩니다. veleroResourcesBackupName은 허브 클러스터 리소스(애플리케이션,정책및 관리형 클러스터 수동 데이터와 같은 기타 허브 클러스터 리소스)에 대한 복원 옵션을 정의하는 데 사용됩니다.이전에 언급한 속성의 유효한 옵션은 다음과 같습니다.
-
latest- 이 속성은 이 유형의 백업에 사용 가능한 마지막 백업 파일을 복원합니다. -
건너뛰기- 이 속성은 현재 복원 작업을 사용하여 이 유형의 백업을 복원하지 않습니다. -
<backup_name> - 이 속성은 지정된 백업을 이름으로 복원합니다.
-
restore.cluster.open-cluster-management.io 에서 생성한 restore.velero.io 리소스의 이름은 다음 템플릿 규칙인 < restore.cluster.open-cluster-management.io name>-<velero-backup-resource-name > . 다음 설명을 확인합니다.
-
restore.cluster.open-cluster-management.io 이름은복원을 시작하는 현재restore.cluster.open-cluster-management.io리소스의 이름입니다. Velero-backup-resource-name은 데이터를 복원하는 데 사용되는 Velero 백업 파일의 이름입니다. 예를 들어restore-acm이라는restore.cluster.open-cluster-management.io리소스는restore.velero.io복원 리소스를 생성합니다. 형식에 대한 다음 예제를 확인합니다.-
restore-acm-acm-managed-clusters-schedule-20210102205438은 관리형 클러스터 활성화 데이터 백업을 복원하는 데 사용됩니다. 이 샘플에서 리소스를 복원하는 데 사용되는backup.velero.io백업 이름은acm-managed-clusters-schedule-20210902205438입니다. -
restore-acm-acm-credentials-schedule-20210902206789는 인증 정보 백업을 복원하는 데 사용됩니다. 이 샘플에서 리소스를 복원하는 데 사용되는backup.velero.io백업 이름은acm-managed-clusters-schedule-20210902206789입니다. -
restore-acm-acm-resources-schedule-20210902201234는 관리 클러스터 수동 데이터 백업과 같은 애플리케이션, 정책 및 기타 허브 클러스터 리소스를 복원하는 데 사용됩니다. 이 샘플에서 리소스를 복원하는 데 사용되는backup.velero.io백업 이름은acm-managed-clusters-schedule-20210902201234입니다.
-
참고: 백업 유형에 skip 이 사용되는 경우 restore.velero.io 가 생성되지 않습니다.
클러스터 복원 리소스의 다음 YAML 샘플을 확인합니다. 이 샘플에서는 사용 가능한 최신 백업 파일을 사용하여 세 가지 유형의 백업 파일이 복원됩니다.
apiVersion: cluster.open-cluster-management.io/v1beta1 kind: Restore metadata: name: restore-acm namespace: open-cluster-management-backup spec: veleroManagedClustersBackupName: latest veleroCredentialsBackupName: latest veleroResourcesBackupName: latest
참고: 관리형 클러스터 백업의 acm-managed-clusters 백업이 다른 hub 클러스터에 복원되면 Hive API에서 생성한 관리형 클러스터만 새 hub 클러스터에 자동으로 연결됩니다. 다른 모든 관리형 클러스터는 Pending Import 상태로 유지되며 새 hub 클러스터로 다시 가져와야 합니다. 자세한 내용은 가져온 관리 클러스터 복구(기술 프리뷰)를 참조하십시오.
1.6.6.1. 새 허브 클러스터 준비
새 허브 클러스터에서 복원 작업을 실행하기 전에 hub 클러스터를 수동으로 구성하고 초기 허브 클러스터에 동일한 운영자를 설치해야 합니다. Red Hat Advanced Cluster Management Operator를 초기 허브 클러스터와 동일한 네임스페이스에 설치하고 DataProtectionApplication 리소스를 만든 다음 이전에 데이터를 백업한 초기 허브 클러스터와 동일한 스토리지 위치에 연결해야 합니다.
MultiClusterEngine 리소스에 대한 변경 사항을 포함하여 Red Hat Advanced Cluster Management Operator에서 생성한 MultiClusterHub 리소스에 대한 초기 허브 클러스터에서와 동일한 구성을 사용합니다.
예를 들어 초기 허브 클러스터에 Ansible Automation Platform, Red Hat OpenShift GitOps, cert-manager 와 같은 다른 Operator가 설치된 경우 복원 작업을 실행하기 전에 설치해야 합니다. 이렇게 하면 새 hub 클러스터가 초기 hub 클러스터와 동일한 방식으로 구성됩니다.
1.6.6.2. 복원 전에 hub 클러스터 정리
Velero는 현재 hub 클러스터에서 기존 백업 리소스를 건너뜁니다. 이렇게 하면 새 허브 클러스터에서 허브 클러스터 데이터를 복원할 때 사용할 수 있는 시나리오가 제한됩니다. 새 hub 클러스터를 사용하고 복원이 두 번 이상 적용되는 경우 복원을 실행하기 전에 데이터를 정리하지 않는 한 허브 클러스터는 수동 구성으로 사용하지 않는 것이 좋습니다. 새 허브 클러스터의 데이터는 복원된 리소스와 함께 사용할 수 있는 데이터를 반영하지 않습니다.
restore.cluster.open-cluster-management.io 리소스가 생성되면 클러스터 백업 및 복원 Operator는 Velero 복원이 시작되기 전에 hub 클러스터를 정리하여 복원을 준비하는 일련의 단계를 실행합니다.
cleanup 옵션은 cleanupBeforeRestore 속성을 사용하여 정리할 오브젝트의 하위 집합을 식별합니다. 이 정리에 대해 세 가지 옵션을 설정할 수 있습니다.
-
none: 필요하지 않음, Velero 복원만 시작합니다. 이는 새로운 허브 클러스터에서 사용됩니다. -
CleanupRestored: 이전 Red Hat Advanced Cluster Management 복원에서 생성된 모든 리소스를 정리합니다. 이 속성은 cleanupAll속성보다 개입이 적기 때문에 사용하는 것이 좋습니다. -
CleanupAll: 복원 작업으로 인해 리소스가 생성되지 않더라도 Red Hat Advanced Cluster Management 백업에 포함될 수 있는 hub 클러스터 클러스터의 모든 리소스를 정리합니다. 이는 정리가 필요한 hub 클러스터에 추가 콘텐츠를 만들 때 사용됩니다. 이 옵션은 이전 백업이 아닌 사용자가 생성한 hub 클러스터의 리소스를 정리하므로 이 옵션을 신중하게 사용합니다. InitialupRestored옵션을 사용하고 허브 클러스터가 재해 시나리오의 수동 클러스터로 지정되면 hub 클러스터 콘텐츠를 수동으로 업데이트하지 않는 것이 좋습니다. clearupAll옵션을 마지막 대안으로 사용합니다.
참고:
-
복원된 백업에 리소스가 없는 경우 Velero는 velero 복원 리소스에 대한 상태
PartiallyFailed를 설정합니다. 즉, 해당 백업이 비어 있기 때문에 생성된restore.velero.io리소스에서 리소스를 복원하지 않는 경우restore.cluster.open-cluster-management.io리소스가PartiallyFailed상태에 있을 수 있습니다. -
새 백업을 사용할 수 있는 경우
syncRestoreWithNewBackups:true를 사용하여 수동 데이터를 계속 복원하지 않는 한restore.cluster.open-cluster-management.io리소스가 한 번 실행됩니다. 이 경우 동기화 샘플이 있는 복원 패시브를 따릅니다. 백업을 확인하는 동안 수동 리소스 복구를 참조하십시오. 복원 작업이 완료되고 동일한 허브 클러스터에서 다른 복원 작업을 실행하려면 새restore.cluster.open-cluster-management.io리소스를 생성해야 합니다. -
여러
restore.cluster.open-cluster-management.io리소스를 여러 개 생성할 수 있지만 언제든지 하나만 활성화할 수 있습니다.
1.6.6.3. 백업을 확인하는 동안 수동 리소스 복원
restore-passive-sync 샘플을 사용하여 수동 데이터를 복원하면서 새 백업을 사용할 수 있는지 확인하고 자동으로 복원합니다. 새 백업을 자동으로 복원하려면 syncRestoreWithNewBackups 매개변수를 true 로 설정해야 합니다. 또한 최신 수동 데이터만 복원해야 합니다. 샘플 예제는 이 섹션의 끝에 있습니다.
VeleroResourcesBackupName 및 VeleroCredentialsBackupName 매개변수를 latest 로 설정하고 VeleroManagedClustersBackupName 매개변수를 건너뛰도록 설정합니다. VeleroManagedClustersBackupName 이 latest 로 설정된 직후 관리 클러스터는 새 허브 클러스터에서 활성화되고 이제 기본 허브 클러스터입니다.
활성화된 관리 클러스터가 기본 허브 클러스터가 되면 복원 리소스가 Finished 로 설정되고 true 로 설정된 경우에도 syncRestoreWithNewBackups 가 무시됩니다.
기본적으로 컨트롤러는 syncRestoreWithNewBackups 가 true 로 설정된 경우 30분마다 새 백업을 확인합니다. 새 백업이 있으면 백업된 리소스를 복원합니다. restoreSyncInterval 매개변수를 업데이트하여 점검 기간을 변경할 수 있습니다.
예를 들어 10분마다 백업을 확인하는 다음 리소스를 참조하십시오.
apiVersion: cluster.open-cluster-management.io/v1beta1 kind: Restore metadata: name: restore-acm-passive-sync namespace: open-cluster-management-backup spec: syncRestoreWithNewBackups: true # restore again when new backups are available restoreSyncInterval: 10m # check for new backups every 10 minutes cleanupBeforeRestore: CleanupRestored veleroManagedClustersBackupName: skip veleroCredentialsBackupName: latest veleroResourcesBackupName: latest
1.6.6.4. 수동 리소스 복원
restore-acm-passive 샘플을 사용하여 수동 구성에서 허브 클러스터 리소스를 복원합니다. 수동 데이터는 시크릿, ConfigMaps, 애플리케이션, 정책 및 모든 관리 클러스터 사용자 정의 리소스와 같은 백업 데이터로, 관리 클러스터와 허브 클러스터 간의 연결을 활성화하지 않습니다. 백업 리소스는 인증 정보 백업 및 복원 리소스에 의해 hub 클러스터에서 복원됩니다.
다음 샘플을 참조하십시오.
apiVersion: cluster.open-cluster-management.io/v1beta1 kind: Restore metadata: name: restore-acm-passive namespace: open-cluster-management-backup spec: cleanupBeforeRestore: CleanupRestored veleroManagedClustersBackupName: skip veleroCredentialsBackupName: latest veleroResourcesBackupName: latest
1.6.6.5. 활성화 리소스 복원
허브 클러스터가 클러스터를 관리하려면 restore-acm-passive-activate 샘플을 사용합니다. 이 경우 다른 데이터가 수동 리소스를 사용하는 허브 클러스터에서 이미 복원되었다고 가정합니다.
apiVersion: cluster.open-cluster-management.io/v1beta1 kind: Restore metadata: name: restore-acm-passive-activate namespace: open-cluster-management-backup spec: cleanupBeforeRestore: CleanupRestored veleroManagedClustersBackupName: latest veleroCredentialsBackupName: skip veleroResourcesBackupName: skip
수동 리소스를 복원하는 방법에 따라 활성화 리소스를 복원할 수 있는 몇 가지 옵션이 있습니다.
-
restore-acm-passive-sync cluster.open-cluster-management.io리소스를 사용한 경우 수동 데이터 복원을 확인하는 동안 백업에 설명된 대로veleroManagedClustersBackupName값을 이 리소스에최신으로 업데이트합니다. 결과적으로 관리 클러스터 리소스 및restore-acm-passive-sync리소스가 복원됩니다. - 수동 리소스를 한 번 작업으로 복원하거나 아직 리소스를 복원하지 않은 경우 모든 리소스 복원 섹션에 지정된 대로 모든 리소스를 복원 하도록 선택합니다.
1.6.6.6. 모든 리소스 복원
한 번에 모든 데이터를 복원하고 허브 클러스터에서 관리 클러스터를 한 단계로 관리하도록 하려면 restore-acm 샘플을 사용합니다. hub 클러스터에서 restore.cluster.open-cluster-management.io 리소스를 생성한 후 다음 명령을 실행하여 복원 작업의 상태를 가져옵니다.
oc get restore -n open-cluster-management-backup
샘플은 다음 리소스와 유사합니다.
apiVersion: cluster.open-cluster-management.io/v1beta1 kind: Restore metadata: name: restore-acm namespace: open-cluster-management-backup spec: cleanupBeforeRestore: CleanupRestored veleroManagedClustersBackupName: latest veleroCredentialsBackupName: latest veleroResourcesBackupName: latest
hub 클러스터에서 백업 파일에 포함된 백업 리소스가 생성되었는지 확인합니다.
1.6.6.7. 가져온 관리 클러스터 복원
Hive API를 사용하여 기본 허브 클러스터와 연결된 관리 클러스터만 활성화 데이터가 복원되는 새 hub 클러스터와 자동으로 연결됩니다. 이러한 클러스터는 클러스터 탭의 Create cluster 버튼을 사용하여 기본 허브 클러스터에 생성되었습니다. Import cluster 버튼을 사용하여 초기 hub 클러스터와 연결된 관리 클러스터는 활성화 데이터가 복원될 때 가져오기 보류 중으로 표시되고 새 허브 클러스터에서 다시 가져와야 합니다.
Hive는 허브 클러스터의 관리형 클러스터 네임스페이스에 관리형 클러스터 kubeconfig 를 저장하므로 Hive에서 새 허브 클러스터 클러스터와 연결할 수 있습니다. 새 hub 클러스터에서 백업 및 복원됩니다. 그런 다음 가져오기 컨트롤러는 Hive API를 사용하여 생성된 관리형 클러스터에서만 사용할 수 있는 복원된 구성을 사용하여 관리형 클러스터에서 부트스트랩 kubeconfig 를 업데이트합니다. 가져온 클러스터에서는 사용할 수 없습니다.
새 허브 클러스터에서 가져온 클러스터를 다시 연결하려면 복원 작업을 시작한 후 자동 가져오기-secret 리소스를 수동으로 생성합니다. 자세한 내용은 자동 가져오기 보안을 사용하여 클러스터 가져오기 를 참조하십시오.
Pending Import 상태의 각 클러스터의 관리 클러스터 네임스페이스에 auto-import-secret 리소스를 생성합니다. 가져오기 구성 요소에서 새 허브 클러스터에서 자동 가져오기를 시작할 수 있는 충분한 권한이 있는 kubeconfig 또는 토큰을 사용합니다. 관리형 클러스터와 연결하는 토큰을 사용하여 각 관리 클러스터에 대한 액세스 권한이 있어야 합니다. 토큰에는 klusterlet 역할 바인딩 또는 동일한 권한이 있는 역할이 있어야 합니다.
1.6.6.8. 기타 복원 샘플 사용
다음 복원 섹션을 보고 YAML 예제를 확인하여 다른 유형의 백업 파일을 복원합니다.
세 가지 유형의 백업 리소스를 모두 복원합니다.
apiVersion: cluster.open-cluster-management.io/v1beta1 kind: Restore metadata: name: restore-acm namespace: open-cluster-management-backup spec: veleroManagedClustersBackupSchedule: latest veleroCredentialsBackupSchedule: latest veleroResourcesBackupSchedule: latest
관리형 클러스터 리소스만 복원하십시오.
apiVersion: cluster.open-cluster-management.io/v1beta1 kind: Restore metadata: name: restore-acm namespace: open-cluster-management-backup spec: veleroManagedClustersBackupName: latest veleroCredentialsBackupName: skip veleroResourcesBackupName: skip
acm-managed-clusters-schedule-202902205438 백업을 사용하여 관리 클러스터의리소스만 복원하십시오.apiVersion: cluster.open-cluster-management.io/v1beta1 kind: Restore metadata: name: restore-acm namespace: open-cluster-management-backup spec: veleroManagedClustersBackupName: acm-managed-clusters-schedule-20210902205438 veleroCredentialsBackupName: skip veleroResourcesBackupName: skip
참고:
-
restore.cluster.open-cluster-management.io리소스가 한 번 실행됩니다. 복원 작업이 완료되면 동일한 허브 클러스터에서 다른 복원 작업을 선택적으로 실행할 수 있습니다. 새 복원 작업을 실행하려면 새restore.cluster.open-cluster-management.io리소스를 생성해야 합니다. -
여러
restore.cluster.open-cluster-management.io를 여러 개 생성할 수 있지만 언제든지 하나만 실행할 수 있습니다.
-
1.6.6.9. 복원 이벤트 보기
다음 명령을 사용하여 복원 이벤트에 대한 정보를 가져옵니다.
oc describe -n <oadp-n> <restore-name>
이벤트 목록은 다음 샘플과 유사합니다.
Spec: Cleanup Before Restore: CleanupRestored Restore Sync Interval: 4m Sync Restore With New Backups: true Velero Credentials Backup Name: latest Velero Managed Clusters Backup Name: skip Velero Resources Backup Name: latest Status: Last Message: Velero restores have run to completion, restore will continue to sync with new backups Phase: Enabled Velero Credentials Restore Name: example-acm-credentials-schedule-20220406171919 Velero Resources Restore Name: example-acm-resources-schedule-20220406171920 Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Prepare to restore: 76m Restore controller Cleaning up resources for backup acm-credentials-hive-schedule-20220406155817 Normal Prepare to restore: 76m Restore controller Cleaning up resources for backup acm-credentials-cluster-schedule-20220406155817 Normal Prepare to restore: 76m Restore controller Cleaning up resources for backup acm-credentials-schedule-20220406155817 Normal Prepare to restore: 76m Restore controller Cleaning up resources for backup acm-resources-generic-schedule-20220406155817 Normal Prepare to restore: 76m Restore controller Cleaning up resources for backup acm-resources-schedule-20220406155817 Normal Velero restore created: 74m Restore controller example-acm-credentials-schedule-20220406155817 Normal Velero restore created: 74m Restore controller example-acm-resources-generic-schedule-20220406155817 Normal Velero restore created: 74m Restore controller example-acm-resources-schedule-20220406155817 Normal Velero restore created: 74m Restore controller example-acm-credentials-cluster-schedule-20220406155817 Normal Velero restore created: 74m Restore controller example-acm-credentials-hive-schedule-20220406155817 Normal Prepare to restore: 64m Restore controller Cleaning up resources for backup acm-resources-schedule-20220406165328 Normal Prepare to restore: 62m Restore controller Cleaning up resources for backup acm-credentials-hive-schedule-20220406165328 Normal Prepare to restore: 62m Restore controller Cleaning up resources for backup acm-credentials-cluster-schedule-20220406165328 Normal Prepare to restore: 62m Restore controller Cleaning up resources for backup acm-credentials-schedule-20220406165328 Normal Prepare to restore: 62m Restore controller Cleaning up resources for backup acm-resources-generic-schedule-20220406165328 Normal Velero restore created: 61m Restore controller example-acm-credentials-cluster-schedule-20220406165328 Normal Velero restore created: 61m Restore controller example-acm-credentials-schedule-20220406165328 Normal Velero restore created: 61m Restore controller example-acm-resources-generic-schedule-20220406165328 Normal Velero restore created: 61m Restore controller example-acm-resources-schedule-20220406165328 Normal Velero restore created: 61m Restore controller example-acm-credentials-hive-schedule-20220406165328 Normal Prepare to restore: 38m Restore controller Cleaning up resources for backup acm-resources-generic-schedule-20220406171920 Normal Prepare to restore: 38m Restore controller Cleaning up resources for backup acm-resources-schedule-20220406171920 Normal Prepare to restore: 36m Restore controller Cleaning up resources for backup acm-credentials-hive-schedule-20220406171919 Normal Prepare to restore: 36m Restore controller Cleaning up resources for backup acm-credentials-cluster-schedule-20220406171919 Normal Prepare to restore: 36m Restore controller Cleaning up resources for backup acm-credentials-schedule-20220406171919 Normal Velero restore created: 36m Restore controller example-acm-credentials-cluster-schedule-20220406171919 Normal Velero restore created: 36m Restore controller example-acm-credentials-schedule-20220406171919 Normal Velero restore created: 36m Restore controller example-acm-resources-generic-schedule-20220406171920 Normal Velero restore created: 36m Restore controller example-acm-resources-schedule-20220406171920 Normal Velero restore created: 36m Restore controller example-acm-credentials-hive-schedule-20220406171919
1.6.6.10. 기본 클러스터 종료
새 허브 클러스터에서 백업을 복원할 때 백업이 생성된 이전 허브 클러스터가 종료되었는지 확인합니다. 해당 클러스터가 실행 중인 경우 관리형 클러스터 조정에서 관리 클러스터를 더 이상 사용할 수 없다는 이전 hub 클러스터는 관리 클러스터를 다시 가져오려고 합니다.
1.6.7. 백업 또는 복원 구성 검증
클러스터 백업 및 복원 Operator Helm 차트(cluster-backup-chart)는 hub 클러스터에 backup-restore-enabled 정책을 설치합니다. 이 정책은 백업 및 복원 구성 요소의 문제에 대해 알려주는 데 사용됩니다. backup-restore-enabled 정책에는 다음 제약 조건을 확인하는 템플릿 세트가 포함됩니다.
Pod 검증
다음 템플릿은 백업 구성 요소 및 종속 항목에 대한 Pod 상태를 확인합니다.
-
ACM-backup-pod-running템플릿은 백업 및 복원 Operator Pod가 실행 중인지 확인합니다. -
OADP-pod-running템플릿은 OADP Operator Pod가 실행 중인지 확인합니다. -
Velero-pod-running템플릿은 Velero pod가 실행 중인지 확인합니다.
-
Data Protection 애플리케이션 유효성 검사
-
data-protection-application-available템플릿은DataProtectioApplicatio.oadp.openshift.io리소스가 생성되었는지 확인합니다. 이 OADP 리소스는 Velero 구성을 설정합니다.
-
백업 스토리지 검증
-
backup-storage-location-available템플릿은BackupStorageLocation.velero.io리소스가 생성되고 상태 값이Available인지 확인합니다. 즉, 백업 스토리지에 대한 연결이 유효합니다.
-
BackupSchedule 충돌 검증
ACM
-backup-clusters-collision-report템플릿은 상태가BackupCollision이 아닌지 확인합니다.BackupSchedule.cluster.open-cluster-management.io가 현재 허브 클러스터에 있는 경우. 이렇게 하면 스토리지 위치에 백업 데이터를 작성할 때 현재 hub 클러스터가 다른 허브 클러스터와 충돌하지 않는지 확인합니다.BackupCollision상태에 대한 정의의 경우 Backup Collisions 섹션을 참조하십시오.
BackupSchedule 및 복원 상태 검증
-
ACM
-backup-phase-validation템플릿은 현재 클러스터에BackupSchedule.cluster.open-cluster-management.io가 있는 경우 상태가Failed,Empty상태가 아닌지 확인합니다. 이렇게 하면 이 클러스터가 기본 hub 클러스터이고 백업을 생성하는 경우BackupSchedule.cluster.open-cluster-management.io상태가 정상입니다. -
동일한 템플릿에서 현재 클러스터에
Restore.cluster.open-cluster-management.io가 있는 경우 상태가Failed또는Empty상태가 아닌지 확인합니다. 이렇게 하면 이 클러스터가 보조 허브 클러스터이고 백업을 복원 중인 경우Restore.cluster.open-cluster-management.io상태가 정상입니다.
-
ACM
백업 보유 상태 검증
-
ACM
-managed-clusters-schedule-backups-available템플릿은BackupStorageLocation.velero.io에서 지정한 위치에서Backup.velero.io리소스를 사용할 수 있는지, 백업이BackupSchedule.cluster.open-cluster-management.io리소스에서 생성하는 경우 백업을 생성합니다. 이는 backup 및 restore 연산자를 사용하여 백업을 한 번 이상 실행했는지 확인합니다.
-
ACM
완료를 위한 백업
-
acm-backup-in-progress-report템플릿은Backup.velero.io리소스가InProgress상태에 고착되어 있는지 확인합니다. 이 검증은 리소스가 많은 경우 백업이 실행될 때 velero Pod가 재시작되고 백업이 완료되지 않고 계속 진행 중이므로 백업이 추가됩니다. 일반적인 백업 중에 백업 리소스는 실행 중 어느 시점에서 진행 중이지만 중단되지 않고 완료로 실행됩니다.acm-backup-in-progress-report템플릿은 일정이 실행되는 동안 경고가 표시되고 백업이 진행 중인 것을 확인하는 것이 정상입니다.
-
cron 작업으로 적극적으로 실행되는 백업
BackupSchedule.cluster.open-cluster-management.io는 스토리지 위치에 적극적으로 실행되고 새 백업을 저장합니다. 이 검증은backup-schedule-cron-enabled정책 템플릿에서 수행합니다. 템플릿은 스토리지 위치에velero.io/schedule-name: acm-validation-policy-schedule라벨이 있는Backup.velero.io가 있는지 확인합니다.acm-validation-policy-schedule백업은 백업 cron 일정에 설정된 시간이 설정된 후 만료되도록 설정됩니다. 백업을 생성하기 위해 cron 작업이 실행되지 않으면 만료되고 새 작업이 생성되지 않기 때문에 이전acm-validation-policy-schedule백업이 삭제됩니다. 결과적으로 언제든지acm-validation-policy-schedule 백업이 없는 경우 백업을생성하는 활성 cron 작업이 없음을 의미합니다.이 정책은 hub 클러스터가 활성 상태이고 백업을 생성 또는 복원할 때 모든 백업 문제를 hub 클러스터 관리자에게 알리는 데 도움이 됩니다.
1.6.8. 서버 측 암호화를 사용하여 데이터 보호
서버 측 암호화는 스토리지 위치에서 데이터를 수신하는 애플리케이션 또는 서비스의 데이터 암호화입니다. 백업 메커니즘 자체는 전송 중(백업 스토리지 위치로 이동) 또는 유휴 상태에서 데이터를 암호화하지 않으며(백업 스토리지 위치의 디스크에 저장됨)는 데이터를 암호화하지 않습니다. 대신 오브젝트 및 스냅샷 시스템의 기본 메커니즘에 의존합니다.
모범 사례: 사용 가능한 백업 스토리지 서버 측 암호화를 사용하여 대상의 데이터를 암호화합니다. 백업에는 hub 클러스터 외부에 저장할 때 암호화해야 하는 자격 증명 및 구성 파일과 같은 리소스가 포함되어 있습니다.
serverSideEncryption 및 kmsKeyId 매개변수를 사용하여 Amazon S3에 저장된 백업의 암호화를 활성화할 수 있습니다. 자세한 내용은 Backup Storage Location YAML 을 참조하십시오. 다음 샘플은 DataProtectionApplication 리소스를 설정할 때 AWS KMS 키 ID를 지정합니다.
spec:
backupLocations:
- velero:
config:
kmsKeyId: 502b409c-4da1-419f-a16e-eif453b3i49f
profile: default
region: us-east-1Velero 지원 스토리지 공급자를 참조하여 다른 스토리지 공급자의 구성 가능한 모든 매개변수에 대해 알아보십시오.