이 페이지에서는 Google Distributed Cloud (GDC) 에어 갭에서 백업의 세부 복원을 만드는 방법을 설명합니다.
세분화된 복원 기능을 사용하면 백업에서 리소스의 하위 집합을 복원할 수 있습니다. 이 기능을 사용하면 복원 계획에 정의된 복원 범위를 세부적으로 조정할 수 있습니다.
시작하기 전에
백업의 세부 복원을 만들려면 다음이 필요합니다.
- 기존 백업입니다. 자세한 내용은 백업 집합 계획을 참고하세요.
필요한 ID 및 액세스 역할:
- PA 사용자의 경우:
- 사용자 클러스터 백업 관리자: 사용자 클러스터의 백업 및 복원 계획과 같은 백업 리소스를 관리합니다. 조직 IAM 관리자에게 사용자 클러스터 백업 관리자 (
user-cluster-backup-admin) 역할을 부여해 달라고 요청하세요.
- 사용자 클러스터 백업 관리자: 사용자 클러스터의 백업 및 복원 계획과 같은 백업 리소스를 관리합니다. 조직 IAM 관리자에게 사용자 클러스터 백업 관리자 (
- AO 사용자의 경우:
- 백업 생성자: 수동 백업을 만들고 복원합니다. 프로젝트 IAM 관리자에게 백업 생성자 (
backup-creator) 역할을 부여해 달라고 요청하세요.
- 백업 생성자: 수동 백업을 만들고 복원합니다. 프로젝트 IAM 관리자에게 백업 생성자 (
- 자세한 내용은 역할 정의를 참고하세요.
- PA 사용자의 경우:
세분화된 복원 만들기
세부 필터로 복원을 만들려면 다음 단계를 따르세요.
세분화된 복원 필터를 만듭니다. 다음 YAML 예시를 사용할 수 있습니다.
inclusionFilters: - groupKind: group: foo.io kind: Bar name: name1 namespace: ns1 exclusionFilters: - labels: key1: value1 key2: value2기존
Backups에서 복원을 계획하는ManualRestoreRequest맞춤 리소스를 만듭니다.ManualRestoreRequest의 예는 다음과 같습니다.apiVersion: backup.gdc.goog/v1 kind: ManualRestoreRequest metadata: name: RESTORE_NAME namespace: PROJECT_NAMESPACE spec: restoreName: RESTORE_NAME restorePlanName: RESTORE_PLAN backupName: BACKUP_NAME filter: FINE_GRAINED_RESTORE_FILTERS
다음을 바꿉니다.
RESTORE_NAME: 만들려는 복원의 이름PROJECT_NAMESPACE: GDC 프로젝트의 이름입니다.RESTORE_PLAN: 이 복원이 파생된 복원 계획의 이름입니다.BACKUP_NAME: 복원할 백업입니다. 이 백업은 복원 계획에서 참조하는 백업 계획과 연결되어야 합니다. 자세한 내용은 복원 집합 계획을 참고하세요.FINE_GRAINED_RESTORE_FILTER: 세분화된 복원 필터입니다. 예시는 세부 복원 필터 예시를 참고하세요.
세분화된 복원 필터 예시
다음 예시는 Google Cloud CLI에서 사용하는 YAML 형식으로 제공됩니다.
단일 네임스페이스 범위 리소스 복원
이 예시에서는 세분화된 복원 inclusionFilters을 사용하여 리소스를 선택하여 네임스페이스 webserver에서 이름이 nginx-vars인 ConfigMap 리소스를 복원합니다. 핵심 그룹의 리소스를 선택하려면 group 필드에 빈 문자열을 사용합니다.
filter:
inclusionFilters:
- groupKind:
kind: ConfigMap
name: nginx-vars
namespace: webserver
단일 클러스터 범위 리소스 제외
이 예시에서는 세분화된 복원 exclusionFilters를 사용하여 이름이 sc1인 groupKind 리소스 하나를 제외한 사용 가능한 모든 리소스를 복원함으로써 해당 리소스를 제외합니다.
filter:
exclusionFilters:
- groupKind:
group: storage.k8s.io
kind: StorageClass
name: sc1
라벨이 두 개인 리소스 복원
이 예시에서는 세분화된 복원 inclusionFilters를 사용하여 key1:value1 및 key2:value2 라벨이 모두 있는 리소스를 복원하여 리소스를 선택합니다.
filter:
inclusionFilters:
- labels:
key1: value1
key2: value2
일부 GroupKind의 모든 리소스 제외
이 예시에서는 세분화된 복원 exclusionFilters를 사용하여 ConfigMap 및 storage.k8s.io/StorageClass의 groupKind 리소스를 제외한 사용 가능한 모든 리소스를 복원함으로써 이들 두 GroupKinds를 제외합니다.
filter:
exclusionFilters:
- groupKind:
kind: ConfigMap
- groupKind:
group: storage.k8s.io
kind: StorageClass