클러스터의 재해 복구 구성

이 페이지에서는 Google Distributed Cloud (GDC) 에어 갭에서 클러스터 워크로드의 재해 복구를 구성하는 방법을 설명합니다.

플랫폼 관리자 (PA)는 지정된 클러스터에 버킷, 백업 저장소, 백업 계획을 만들어야 합니다.

이러한 리소스가 생성되면 인프라 운영자(IO)에게 알려 복원을 완료해야 합니다.

시작하기 전에

클러스터의 재해 복구를 구성하려면 다음이 필요합니다.

  • 복원을 만들려는 Kubernetes 클러스터에 대한 액세스 권한 자세한 내용은 Kubernetes 클러스터 개요를 참고하세요.
  • 필요한 ID 및 액세스 역할:
    • DR 백업 관리자: 재해 복구 백업을 실행합니다. 조직 IAM 관리자에게 DR 백업 관리자(dr-backup-admin) 클러스터 역할을 부여해 달라고 요청하세요.
    • DR 시스템 관리자: 관리 클러스터 백업을 설정하기 위해 dr-system 네임스페이스의 객체를 관리합니다. 조직 IAM 관리자에게 DR 시스템 관리자 (dr-system-admin) 역할을 부여해 달라고 요청하세요.

백업 사이트에 버킷 만들기

백업 사이트에 버킷을 만듭니다.

  1. gdcloud CLI를 사용하여 백업 사이트에 버킷을 만듭니다.

    gdcloud dr buckets create --cluster=CLUSTER_NAME \
    --source-site=SOURCE_SITE
    

    다음을 바꿉니다.

    • SOURCE_SITE: 고객이 선택한 소스 사이트의 식별자입니다. 예를 들면 us-west입니다.
    • CLUSTER_NAME: 클러스터의 클러스터 이름입니다(예: root-admin).
    • BUCKET_CONFIG_FILE: 저장된 버킷 구성 파일의 경로입니다.
  2. 버킷 구성을 JSON 형식으로 로컬에 저장합니다.

    gdcloud dr buckets describe --cluster=CLUSTER_NAME \
    --source-site=SOURCE_SITE \
    --output-path=BUCKET_CONFIG_FILE
    
  3. 원격 백업 사용 사례의 구성에서 엔드포인트 필드를 수정합니다. URL에 포트 :8082을 추가합니다. 예를 들어 https://objectstorage.zone1.google.gdch.testhttps://objectstorage.zone1.google.gdch.test:8082이 됩니다.

소스 사이트에 백업 저장소 만들기

소스 사이트에서 버킷 구성 파일을 로드하여 백업 저장소를 만듭니다.

    gdcloud dr backup-repositories create
    --cluster=CLUSTER_NAME
    --bucket-config-file=BUCKET_CONFIG_FILE

인프라 및 관리 API 서버의 백업 계획 만들기

kubectl을 사용하여 인프라 및 관리 제어 영역 모두에 BackupPlan 리소스를 만듭니다.

    apiVersion: backup.gdc.goog/v1
    kind: BackupPlan
    metadata:
    name: MANAGEMENT_BACKUP_PLAN_NAME
    namespace: dr-system
    spec:
    clusterName: infra-mp
    backupSchedule:
        cronSchedule: "0 0 * * *"
        paused: false
    backupConfig:
        backupScope:
        selectedNamespaces:
            namespaces:
            - NAMESPACE_MP
        backupRepository: dr-backup-repo
        includeVolumeData: true
        volumeStrategy: ProvisionerSpecific
    retentionPolicy:
        backupDeleteLockDays: 40
        backupRetainDays: 40
    ---
    apiVersion: backup.gdc.goog/v1
    kind: BackupPlan
    metadata:
    name: INFRASTRUCTURE_BACKUP_PLAN_NAME
    namespace: dr-system
    spec:
    clusterName: infra-cp
    backupSchedule:
        cronSchedule: "0 0 * * *"
        paused: false
    backupConfig:
        backupScope:
        selectedNamespaces:
            namespaces:
            - NAMESPACE_CP
        backupRepository: dr-backup-repo
        includeVolumeData: true
        volumeStrategy: ProvisionerSpecific
    retentionPolicy:
        backupDeleteLockDays: 40
        backupRetainDays: 40

다음을 바꿉니다.

  • MANAGEMENT_BACKUP_PLAN_NAME: 인프라 클러스터 관리 평면의 백업 계획 리소스에 대해 선택한 이름입니다.
  • INFRASTRUCTURE_BACKUP_PLAN_NAME: 인프라 클러스터 컨트롤 플레인에서 백업 계획 리소스에 대해 선택한 이름입니다.
  • NAMESPACE_MP: Management API 서버에서 백업할 선택된 네임스페이스입니다.
  • NAMESPACE_CP: 인프라 API 서버에서 백업할 선택된 네임스페이스입니다.

이러한 백업 계획은 다음 규칙을 따릅니다.

  • 선택한 네임스페이스를 24시간마다 백업합니다. 이 빈도는 cronSchedule 필드를 수정하여 조정할 수 있습니다.
  • 백업에는 볼륨 데이터가 포함되며 프로비저너별 전략을 사용합니다.
  • 보관 정책이 백업을 40일 동안 보관하도록 설정되어 있습니다. 데이터 보관 정책에 맞게 backupRetainDaysbackupDeleteLockDays을 조정할 수 있습니다.

복원 실행

인프라 운영자 (IO)에게 에스컬레이션하고 복원을 대신 수행하도록 지시해야 합니다. BackupRepositoryBackupPlan 리소스의 이름과 같은 필요한 정보를 제공합니다. GDC의 잠재고객 그룹에 대한 자세한 내용은 문서 잠재고객을 참고하세요.