クラスタの障害復旧を構成する

このページでは、Google Distributed Cloud(GDC)エアギャップでクラスタ ワークロードの障害復旧を構成する方法について説明します。

プラットフォーム管理者(PA)は、指定されたクラスタのバケット、バックアップ リポジトリ、バックアップ プランを作成する必要があります。

これらのリソースが作成されたら、インフラストラクチャ オペレーター(IO)に通知して復元を完了する必要があります。

始める前に

クラスタの障害復旧を構成するには、次のものが必要です。

  • 復元を作成する Kubernetes クラスタへのアクセス権。詳細については、Kubernetes クラスタの概要をご覧ください。
  • 必要な ID とアクセスロール:
    • DR バックアップ管理者: 障害復旧バックアップを実行します。組織の IAM 管理者に、DR バックアップ管理者(dr-backup-admin)クラスタロールの付与を依頼します。
    • DR システム管理者: 管理クラスタのバックアップを設定するために、dr-system Namespace のオブジェクトを管理します。組織の 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

インフラストラクチャと Management 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。
  • NAMESPACE_CP: インフラストラクチャ API サーバーでバックアップする Namespace。

これらのバックアップ プランは、次のルールに従います。

  • 選択した Namespace を 24 時間ごとにバックアップします。この頻度は、cronSchedule フィールドを変更することで調整できます。
  • バックアップにはボリューム データが含まれており、プロビジョナー固有の戦略が使用されています。
  • 保持ポリシーは、バックアップを 40 日間保持するように設定されています。データ保持ポリシーに合わせて backupRetainDaysbackupDeleteLockDays を調整できます。

復元を実行する

エスカレーションして、インフラストラクチャ オペレーター(IO)に復元を代行するよう指示する必要があります。BackupRepository リソースと BackupPlan リソースの名前など、必要な情報を入力します。GDC のオーディエンス グループの詳細については、ドキュメントの対象読者をご覧ください。