このページでは、Google Distributed Cloud(GDC)エアギャップでクラスタ ワークロードの障害復旧を構成する方法について説明します。
プラットフォーム管理者(PA)は、指定されたクラスタのバケット、バックアップ リポジトリ、バックアップ プランを作成する必要があります。
これらのリソースが作成されたら、インフラストラクチャ オペレーター(IO)に通知して復元を完了する必要があります。
始める前に
クラスタの障害復旧を構成するには、次のものが必要です。
- 復元を作成する Kubernetes クラスタへのアクセス権。詳細については、Kubernetes クラスタの概要をご覧ください。
- 必要な ID とアクセスロール:
- DR バックアップ管理者: 障害復旧バックアップを実行します。組織の IAM 管理者に、DR バックアップ管理者(
dr-backup-admin
)クラスタロールの付与を依頼します。 - DR システム管理者: 管理クラスタのバックアップを設定するために、dr-system Namespace のオブジェクトを管理します。組織の IAM 管理者に、DR システム管理者(
dr-system-admin
)ロールの付与を依頼します。
- DR バックアップ管理者: 障害復旧バックアップを実行します。組織の IAM 管理者に、DR バックアップ管理者(
バックアップ サイトにバケットを作成する
バックアップ サイトにバケットを作成します。
gdcloud CLI を使用して、バックアップ サイトにバケットを作成します。
gdcloud dr buckets create --cluster=CLUSTER_NAME \ --source-site=SOURCE_SITE
次のように置き換えます。
SOURCE_SITE
: お客様が選択したソースサイトの識別子。例:us-west
CLUSTER_NAME
: クラスタのクラスタ名(root-admin
など)。BUCKET_CONFIG_FILE
: 保存されたバケット構成ファイルのパス。
バケット構成を JSON 形式でローカルに保存します。
gdcloud dr buckets describe --cluster=CLUSTER_NAME \ --source-site=SOURCE_SITE \ --output-path=BUCKET_CONFIG_FILE
リモート バックアップのユースケースの構成で、エンドポイント フィールドを変更します。URL にポート
:8082
を追加します。たとえば、https://objectstorage.zone1.google.gdch.test
はhttps://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 日間保持するように設定されています。データ保持ポリシーに合わせて
backupRetainDays
とbackupDeleteLockDays
を調整できます。
復元を実行する
エスカレーションして、インフラストラクチャ オペレーター(IO)に復元を代行するよう指示する必要があります。BackupRepository
リソースと BackupPlan
リソースの名前など、必要な情報を入力します。GDC のオーディエンス グループの詳細については、ドキュメントの対象読者をご覧ください。