복원 중 리소스 복원 순서 지정


이 페이지에서는 복원 작업 중에 Backup for GKE가 서로 다른 GroupKinds를 복원하는 순서를 지정하는 방법을 설명합니다.

개요

기본적으로 Backup for GKE는 리소스 간의 종속 항목 요구 사항을 충족하는 순서대로 잘 알려진 GroupKind를 복원합니다. 그러나 특정 순서로 복원해야 하는 추가 리소스가 있는 경우 복원 순서 기능을 사용하여 영향을 받는 리소스 간에 종속 항목을 정의하여 필요한 순서를 지정할 수 있습니다.

복원 계획 만들기 또는 업데이트 작업 중에 커스텀 GroupKind 종속 항목 목록을 지정할 수 있습니다. 두 커스텀 리소스 간의 종속 항목을 표시하려면 다음 두 GroupKinds를 지정합니다.

  • 충족 GroupKind: 이 GroupKind는 종속 항목을 충족하며 필요 GroupKind보다 앞에 복원되어야 합니다. Google Cloud 콘솔에서는 이 GroupKind를 1차 API 그룹2차 객체 종류 필드라고 부릅니다.
  • 필요 GroupKind: 이 GroupKind는 먼저 복원할 충족 GroupKind에 따라 달라집니다. Google Cloud 콘솔에서 이 GroupKind는 2차 API 그룹2차 객체 종류 필드라고 합니다.

Backup for GKE는 커스텀 종속 항목 및 기본 종속 항목 목록을 가져오고 이를 결합하여 GroupKind 복원 순서를 생성합니다.

기본 종속 항목

다음 표에는 충족 및 필요 GroundKind 리소스 사이의 기본 페어링 종속 항목이 나와 있습니다. 복원 순서를 정의할 때 Backup for GKE는 필요 GroupKinds 전에 모든 충족 GroundKind를 복원합니다. 예를 들어, Backup for GKE는 항상 PersistentVolumeClaims에 앞서 모든 storage.k8s.io/StorageClass를 복원합니다.

또한, 기본 복원 순서는 모든 네임스페이스 범위 리소스보다 먼저 네임스페이스를 복원하고 CustomResources보다 먼저 CustomResourceDefinitions을 복원하는 등의 기본 사례도 처리합니다.

충족 GroundKind 리소스 필요 GroundKind 리소스
flowcontrol.apiserver.k8s.io/PriorityLevelConfiguration flowcontrol.apiserver.k8s.io/FlowSchema
storage.k8s.io/StorageClass PersistentVolumeClaim
PersistentVolumeClaim
  • Pod
  • Deployment
  • ReplicationController
  • ReplicaSet
  • StatefulSet
  • DaemonSet
  • CronJob
  • Job
ServiceAccount
  • Pod
  • Deployment
  • ReplicationController
  • ReplicaSet
  • StatefulSet
  • DaemonSet
  • CronJob
  • Job

리소스 복원 순서 정의

다음 안내에 따라 커스텀 GroupKind 종속 항목을 복원 계획에 추가하세요. Backup for GKE에서 이미 처리되었고 지정할 필요가 없는 모든 GroupKind 종속 항목에 대한 기본 종속 항목 목록을 참조하세요.

gcloud

  1. YAML 파일을 만들어 복원 순서를 정의합니다. 다음 YAML 예시를 사용할 수 있습니다.

    다음 예시에서는 stable.example.com/Second 전에 stable.example.com/First를 복원해야 하고 stable.example.com/Third 전에 stable.example.com/Second를 복원해야 함을 나타냅니다.

      restoreOrder:
        groupKindDependencies:
        - satisfying:
            resourceGroup: stable.example.com
            resourceKind: First
          requiring:
            resourceGroup: stable.example.com
            resourceKind: Second
        - satisfying:
            resourceGroup: stable.example.com
            resourceKind: Second
          requiring:
            resourceGroup: stable.example.com
            resourceKind: Third
    
  2. 만든 복원 순서 파일을 사용하여 복원 순서를 정의합니다.

    gcloud beta container backup-restore restore-plans update RESTORE_PLAN \
        --project=PROJECT_ID \
        --location=LOCATION \
        --restore_order_file=RESTORE_ORDER_FILE
    

    다음을 바꿉니다.

  • RESTORE_PLAN: 업데이트할 복원 계획의 이름
  • PROJECT_ID: Google Cloud 프로젝트의 ID
  • LOCATION: 상위 복원 계획의 컴퓨팅 리전
  • RESTORE_ORDER_FILE: 앞의 예시와 같이 GroupKind 종속성이 포함된 YAML 파일의 경로

콘솔

다음 안내에 따라 Google Cloud 콘솔에서 기존 복원 계획에 주문을 추가합니다.

  1. Google Cloud 콘솔에서 Google Kubernetes Engine 페이지로 이동합니다.

    Google Kubernetes Engine으로 이동

  2. 탐색 메뉴에서 Backup for GKE를 클릭합니다.

  3. 복원 계획 탭을 클릭합니다.

  4. 복원 계획 이름을 클릭합니다.

  5. 세부정보 탭을 클릭합니다.

  6. 주문 복원 옆에 있는 수정을 클릭합니다.

  7. 순서 집합 추가를 클릭합니다.

  8. 항목 1 섹션에서 복원할 리소스 순서대로 1차 API 그룹 11차 객체 종류 1을 입력한 다음 2차 API 그룹 22차 객체 종류 2를 입력합니다.

  9. 변경사항 저장을 클릭합니다.

다음 단계