このドキュメントでは、Google Distributed Cloud(GDC)エアギャップでクラスタ ワークロードのバックアップ プランを作成して管理する方法について説明します。
バックアップ プランは、一連のバックアップの構成、ロケーション、管理機能を提供します。バックアップ プランには、ソースクラスタやバックアップするワークロードの選択などのバックアップ構成が含まれます。すべてのクラスタに少なくとも 1 つのバックアップ プランを作成することをおすすめします。
クラスタごとに 1 つ以上のバックアップ プランを作成できます。次のいずれかの理由で、クラスタのバックアップをパーティション分割することがあります。
- 1 日に 1 回で大規模なバックアップを作成するのではなく、1 日を通じて複数の小規模なバックアップを分散するようにする。
- クラスタの一部を他の部分よりも頻繁にバックアップする(たとえば、一部の名前空間を毎日バックアップし、他の名前空間は 1 時間ごとにバックアップする場合など)。
1 つのクラスタまたは仮想マシン(VM)を 1 つ以上のバックアップ プランに含めることができます。バックアップ プランは複数のクラスタにまたがることはできません。ただし、1 つのバックアップ プランで、同じクラスタに存在する複数の VM をキャプチャできます。すべてのバックアップ リソースと復元リソースは、プロジェクト名に関連付ける必要があります。
このドキュメントは、クラスタのバックアップ オペレーションを管理するプラットフォーム管理者グループまたはアプリケーション オペレーター グループのデベロッパーを対象としています。詳細については、GDC エアギャップ ドキュメントの対象読者をご覧ください。
始める前に
ユーザー クラスタをバックアップするときは、バックアップ プランの作成に使用したプロジェクトがそのクラスタに接続されていることを確認します。
IAM ロールをリクエストする
バックアップ プランを作成するには、IAM 組織管理者にユーザー クラスタ バックアップ管理者(user-cluster-backup-admin)ロールを付与するよう依頼します。このロールは、ユーザー クラスタ内のバックアップ プランや復元プランなどのバックアップ リソースを作成、取得、一覧表示、監視、更新、パッチ適用、削除します。
アプリケーション オペレーターの場合は、ユーザー クラスタ バックアップ管理者の権限を持つ管理者にバックアップ プランの作成を依頼してください。
バックアップ プランの作成
バックアップ プランの cron スケジュールを定義して、cron スケジュールに従ってバックアップが自動的に生成されるようにする必要があります。ワークロードを手動でバックアップすることもできます。詳細については、手動バックアップを作成するをご覧ください。
GDC コンソールまたは API を使用してバックアップ プランを作成します。
コンソール
- GDC コンソールにログインします。
- ナビゲーション メニューで [クラスタのバックアップ] をクリックします。
- [バックアップ プランを作成] をクリックします。
- [プランの詳細] セクションで、次の操作を行い、[続行] をクリックします。
- [クラスタ] リストで、バックアップするクラスタを選択します。
- [プロジェクト] リストで、プロジェクトを選択します。
- [バックアップ プラン名] フィールドに、選択したバックアップ プラン名を入力します。
- (省略可)[バックアップ プランの説明] に、バックアップ プランの説明を入力します。
- [バックアップ リポジトリ] フィールドで、バックアップ リポジトリを選択します。バックアップ リポジトリは、オブジェクト ストレージの実装のセットです。
- [次へ] をクリックします。
[スコープと暗号化] セクションで、次の操作を行い、[続行] をクリックします。
バックアップ プランのスコープを次のいずれかから選択します。
- [クラスタ全体] をクリックして、バックアップ内のすべての名前空間リソースをバックアップします。
- [クラスタ内の選択した名前空間] をクリックして、バックアップするクラスタ内の名前空間を選択します。
- [クラスタの名前空間を編集] をクリックし、[クラスタの名前空間を追加] をクリックして、[名前空間] を入力します。
- 名前空間とアプリケーション名を指定してリソースを追加するには、[このクラスタ内の選択した保護対象アプリケーション] をクリックします。
- [保護対象アプリケーションを編集]、[保護対象アプリケーションを追加] の順にクリックして、[名前空間] と [保護対象アプリケーション] を入力します。
[シークレットを含める] をクリックして、Kubernetes
Secretリソースを含めます。バックアップにボリューム データを含める場合は、[永続ボリューム データを含める] をクリックします。バックアップ中に空のボリュームを作成する場合は、このチェックボックスをオフにします。
[スケジュールと保持] セクションで、次の操作を行い、[続行] をクリックします。
- スケジュールを定義するには、[CRON 文字列] フィールドに標準の cron 構文を使用して式を入力します。たとえば、式
10 3 * * *は、毎日 3 時 10 分にバックアップを作成します。時刻はすべて UTC と解釈されます。バックアップ スケジュールの最小間隔は 10 分です。 - [バックアップを削除するまでの日数] フィールドで、バックアップを保持する日数を設定します。指定した日数に達すると、バックアップは自動的に削除されます。
- バックアップを削除できない日数を設定します。
- 保持ポリシーをロックするには、鍵アイコンをクリックして、ロックをオフからオンに切り替えます。
- スケジュールを定義するには、[CRON 文字列] フィールドに標準の cron 構文を使用して式を入力します。たとえば、式
バックアップ プランの詳細を確認して、[プランの作成] をクリックします。
API
クラスタに ClusterBackupPlan カスタム リソースを作成して、バックアップをスケジュールします。バックアップ プランは、backupSchedule に基づいてバックアップを定期的にスケジュールします。ClusterBackupPlan リソースは Namespace リソースです。ClusterBackupPlan の例を次に示します。
apiVersion: backup.gdc.goog/v1
kind: ClusterBackupPlan
metadata:
name: CLUSTER_BACKUP_PLAN
namespace: PROJECT_NAME
spec:
targetCluster:
targetClusterType: UserCluster
targetClusterName:
kind: "Cluster"
name: CLUSTER_NAME
backupSchedule:
cronSchedule: CRON_SCHEDULE
paused: BACKUP_SCHEDULE_STATUS
maxConcurrency: MAX_CONCURRENCY
clusterBackupConfig:
backupScope:
selectedNamespaces:
namespaces: [NAME_SPACE]
clusterBackupRepositoryName: CLUSTER_BACKUP_REPOSITORY
retentionPolicy:
backupDeleteLockDays: BACKUP_DELETE_LOCK_DAYS
backupRetainDays: BACKUP_RETAIN_DAYS
description: BACKUP_PLAN_DESCRIPTION
次のように置き換えます。
CLUSTER_BACKUP_PLAN: クラスタ バックアップ プランの名前。PROJECT_NAME: GDC プロジェクトの名前。CLUSTER_NAME: バックアップするクラスタの名前。囲みtargetClusterフィールドには次のコンポーネントがあります。targetClusterType: バックアップするクラスタのタイプ(UserCluster、ManagementAPIなど)。この例ではUserClusterを使用しています。targetClusterName:CLUSTER_NAMEによって設定されるnameが含まれます。
CRON_SCHEDULE: バックアップをスケジュールするタイミングを示す crontab スケジュール("*/30 * * * *"など)。バックアップ スケジュールの最小間隔は 10 分です。BACKUP_SCHEDULE_STATUS:trueの場合、定期的なバックアップはスケジュールされません。MAX_CONCURRENCY: バックアップ プランで同時に存在できるアクティブなスケジュール バックアップの最大数を指定します。指定した場合、このバックアップ プランからスケジュールされたバックアップのうち、アクティブな状態にできるのは、この数以下です。指定しない場合、デフォルトは 2 です。値は 1 ~ 7 の範囲で指定してください。NAME_SPACE: バックアップに含める Namespace のリスト。囲まれたclusterBackupConfigフィールドには、バックアップの構成の詳細が含まれています。backupScope: バックアップされるリソースを示します。この例ではselectedNamespacesを使用しています。有効な値は次のとおりです。allNamespaces: すべての名前空間のすべてのリソースをキャプチャします。selectedNamespaces: 指定された Namespace のリスト内のリソースをキャプチャします。selectedApplication:protectedApplicationsで定義されたリソースをキャプチャします。
namespaces:backupScopeがselectedNamespacesの場合に適用されます。
CLUSTER_BACKUP_REPOSITORY:clusterBackupConfigのclusterBackupRepositoryNameの値。これは、バックアップを保存するターゲット リポジトリであり、ReadWriteとしてインポートする必要があります。BACKUP_DELETE_LOCK_DAYS: バックアップの作成後に指定した日数(例:10 days)の間、バックアップの削除を防止します。BACKUP_RETAIN_DAYS: バックアップを保持する合計日数を定義します。この期間を過ぎると、バックアップは自動的に削除されます。この値を大きくすると、ストレージが不足する可能性があります。一方、値を小さくすると、データ損失のリスクが高まります。指定しない場合、この値はデフォルトで 35 に設定されます。保持ポリシーは、ストレージ ロケーションの保持ポリシーをオーバーライドしません。また、90 日を超えることはできません。BACKUP_PLAN_DESCRIPTION: バックアップ プランの説明。
バックアップ プランを作成すると、バックアップ スケジュールに基づいて、指定したバックアップ構成でバックアップが自動的に生成されます。
バックアップ プランの表示
GDC コンソールを使用してバックアップ プランを表示します。
- GDC コンソールにログインします。
- ナビゲーション メニューで [クラスタのバックアップ] をクリックします。
- [プロジェクトを選択] をクリックし、組織を選択して組織内のすべてのバックアップ プランを表示するか、プロジェクトを選択してプロジェクト内のすべてのバックアップ プランを表示します。
- [バックアップ プラン] タブをクリックします。
- リスト内のバックアップ プランをクリックして、詳細を表示します。ユーザー クラスタ バックアップ管理者の権限を持つユーザーは、組織内のすべてのバックアップ プランを表示できます。バックアップ作成者のロールを持つユーザーは、選択したプロジェクトのすべてのバックアップ プランを表示できます。
バックアップ プランを編集する
GDC コンソールを使用してバックアップ プランを編集します。
- GDC コンソールにログインします。
- ナビゲーション メニューで [クラスタのバックアップ] をクリックします。
- [プロジェクトを選択] をクリックし、組織を選択して組織内のすべてのバックアップ プランを表示するか、プロジェクトを選択してプロジェクト内のすべてのバックアップ プランを表示します。
- [バックアップ プラン] タブをクリックします。
- 編集するバックアップ プランの名前をクリックします。
- [プランの構成] タブをクリックして、変更可能なフィールドを表示します。
[スケジュールと保持] の edit 編集アイコンをクリックして、そのリソースを編集します。
- スケジュールを更新するには、[CRON 文字列] フィールドに標準の cron 構文を使用して式を入力します。たとえば、式
10 3 * * *は、毎日 3 時 10 分にバックアップを作成します。時刻はすべて UTC と解釈されます。バックアップ スケジュールの最小間隔は 10 分です。 - [バックアップを削除するまでの日数] フィールドで、バックアップを保持する日数を設定します。指定した日数に達すると、バックアップは自動的に削除されます。
[削除を禁止する期間] フィールドで、バックアップを削除できない日数を設定します。
保持ポリシーをロックするには、鍵アイコンをクリックして、オフからオンに切り替えます。
[保存] ボタンをクリックして変更を確定します。
- スケジュールを更新するには、[CRON 文字列] フィールドに標準の cron 構文を使用して式を入力します。たとえば、式
バックアップ プランを無効にする
GDC コンソールを使用してバックアップ プランを無効にします。
- GDC コンソールにログインします。
- ナビゲーション メニューで [クラスタのバックアップ] をクリックします。
- [プロジェクトを選択] をクリックし、組織を選択して組織内のすべてのバックアップ プランを表示するか、プロジェクトを選択してプロジェクト内のすべてのバックアップ プランを表示します。
- [バックアップ プラン] タブをクリックします。
- 無効にするバックアップ プランの名前をクリックします。
- [プランを無効化] ボタンをクリックします。
- 無効にするバックアップ プランの名前をフィールドに入力します。
- [無効にする] ボタンをクリックして、このバックアップ プランの無効化を完了します。