ワークロードをバックアップする

このページでは、Google Distributed Cloud(GDC)エアギャップでクラスタ ワークロードの手動バックアップを作成、既存のバックアップを表示、既存のバックアップを削除する方法について説明します。

始める前に

バックアップを作成、表示、削除するには、次のものが必要です。

  • 必要な ID とアクセスロール:

    • プラットフォーム管理者(PA)ユーザーの場合:
      • ユーザー クラスタ バックアップ管理者: ユーザー クラスタのバックアップ プランや復元プランなどのバックアップ リソースを管理します。組織の IAM 管理者に、ユーザー クラスタ バックアップ管理者(user-cluster-backup-admin)ロールの付与を依頼します。
    • アプリケーション オペレーター(AO)ユーザーの場合:
      • バックアップ作成者: 手動バックアップの作成と復元を行います。プロジェクト IAM 管理者に、バックアップ作成者(backup-creator)ロールを付与するよう依頼します。
    • 詳細については、ロールの定義をご覧ください。
  • AO ユーザーは、既存のバックアップ プランから手動バックアップのみを実行できます。

手動バックアップの作成

バックアップ プランでバックアップのスケジュールが定義されている場合、バックアップはそのスケジュールに従って自動的に作成されます。バックアップ プランのスケジュール外でバックアップを手動で作成することもできます。たとえば、アプリケーションをアップグレードする前に、ワークロードをバックアップできます。バックアップには、ノード構成、ノードプール、初期クラスタサイズ、有効な機能などのクラスタ構成情報は含まれません。

バックアップには 2 つの形式のデータが含まれます。

  • 構成のバックアップ: バックアップを実行するクラスタの API サーバーから抽出された一連の Kubernetes リソースの説明。
  • ボリュームのバックアップ: PersistentVolumeClaims のバックアップ。

コンソール

  1. GDC コンソールにログインします。
  2. ナビゲーション メニューで [Backup for Clusters] をクリックします。
  3. [バックアップ プラン] タブをクリックします。
  4. バックアップに使用するプランをクリックします。
  5. [バックアップを開始] をクリックします。
  6. バックアップの名前と説明(省略可)を入力します。
  7. バックアップを保持する日数を設定します。この日数が経過すると、バックアップは自動的に削除されます。
  8. バックアップを削除できない日数を設定します。
  9. [開始] をクリックします。

API

手動バックアップは、バックアップ構成の既存のバックアップ プランを参照する必要があります。また、バックアップは ManualClusterBackupRequest を発行して作成する必要があります。

ManualClusterBackupRequest の例を次に示します。

apiVersion: backup.gdc.goog/v1
kind: ManualClusterBackupRequest
metadata:
  name: manualbackuprequest-test
  namespace: PROJECT_NAME
spec:
  clusterBackupName: "backup-test"
  clusterBackupPlanRef: "backupplan-test"
  deleteLockDays: 5
  retainDays: 6

PROJECT_NAME は、GDC プロジェクトの名前に置き換えます。

この例には次の値が含まれています。

説明
clusterBackupName 作成するバックアップの名前。
clusterBackupPlanRef バックアップの構成に使用する ClusterBackupPlan の名前。バックアップ プランは、ManualClusterBackupRequest と同じ Namespace に存在している必要があります。
deleteLockDays バックアップの作成後、指定した日数の間、バックアップの削除をブロックします。これにより、ClusterBackupPlanretentionPolicy がオーバーライドされます。
retainDays バックアップの作成から指定した日数が経過すると、バックアップを削除します。この値は、ClusterBackupPlanretentionPolicy をオーバーライドします。保持ポリシーは、ストレージ ロケーションの保持ポリシーをオーバーライドすることはできません。また、90 日を超えることもできません。

バックアップを表示する

ユーザー クラスタ バックアップ管理者(user-cluster-backup-admin)ロールを持つユーザーは、組織内のすべてのバックアップを表示できます。バックアップ作成者(backup-creator)ロールを持つユーザーは、プロジェクト内のすべてのバックアップを表示できます。

コンソール

  1. GDC コンソールにログインします。
  2. ナビゲーション メニューで [Backup for Clusters] をクリックします。
  3. [プロジェクトを選択] をクリックして、ロールに応じて組織またはプロジェクトを選択します。
    • ユーザー クラスタ バックアップ管理者: 組織を選択して組織内のすべてのバックアップを表示するか、プロジェクトを選択してプロジェクト内のすべてのバックアップを表示します。
    • バックアップ作成者: プロジェクトを選択して、プロジェクト内のすべてのバックアップを表示します。
  4. [バックアップ] タブをクリックします。
  5. リスト内のバックアップをクリックすると、その詳細が表示されます。

kubectl

バックアップのリストを表示します。

kubectl get clusterBackups

出力例:

NAME            STATE
backup-test   Succeeded

バックアップを削除する

バックアップは、Kubernetes API サーバーとの通常のやり取りでは削除できません。バックアップを削除するには、GDC コンソールを使用するか、DeleteClusterBackupRequest を発行します。

コンソール

[バックアップ] タブからバックアップを削除します。

  1. GDC コンソールにログインします。
  2. ナビゲーション メニューで [Backup for Clusters] をクリックします。
  3. [プロジェクトを選択] をクリックして、ロールに応じて組織またはプロジェクトを選択します。
    • ユーザー クラスタ バックアップ管理者: 組織を選択して組織内のすべてのバックアップを表示するか、プロジェクトを選択してプロジェクト内のすべてのバックアップを表示します。
    • バックアップ作成者: プロジェクトを選択して、プロジェクト内のすべてのバックアップを表示します。
  4. [バックアップ] タブをクリックします。
  5. 削除するバックアップのその他メニュー アイコンをクリックします。
  6. テキスト ボックスにバックアップの名前を入力します。
  7. [バックアップを削除] ボタンをクリックして、このバックアップの削除を完了します。

または、バックアップ プランを表示しているときにバックアップ名をクリックして、バックアップを削除します。

  1. GDC コンソールにログインします。
  2. ナビゲーション メニューで [Backup for Clusters] をクリックします。
  3. [プロジェクトを選択] をクリックし、ロールに応じて組織またはプロジェクトを選択します。
    • ユーザー クラスタ バックアップ管理者: 組織を選択して組織内のすべてのバックアップ プランを表示するか、プロジェクトを選択してプロジェクト内のすべてのバックアップ プランを表示します。
    • バックアップ作成者: プロジェクトを選択して、プロジェクト内のすべてのバックアップ プランを表示します。
  4. [バックアップ プラン] タブをクリックします。
  5. 削除するバックアップを含むバックアップ プランの名前をクリックします。
  6. [バックアップ] タブをクリックします。
  7. 削除するバックアップの名前をクリックします。
  8. [バックアップを削除] ボタンをクリックします。
  9. テキスト フィールドにバックアップの名前を入力します。
  10. [削除] ボタンをクリックして、このバックアップの削除を完了します。

kubectl

DeleteClusterBackupRequest リクエストを送信します。

apiVersion: backup.gdc.goog/v1
kind: DeleteClusterBackupRequest
metadata:
  name: deletebackuprequest-test
  namespace: PROJECT_NAME
spec:
  clusterBackupRef: "backup-test"

PROJECT_NAME は、GDC プロジェクトの名前に置き換えます。

この例には次の値が含まれています。

  • backupName: 削除されるバックアップの名前。このバックアップは、DeleteClusterBackupRequest と同じ Namespace に存在している必要があります。
  • DeleteClusterBackupRequest: クラスタからバックアップ カスタム リソースを削除し、ボリューム データを含む、そのバックアップに関連付けられたすべてのアーティファクトをバックアップのストレージ ロケーションから削除するリソース。

次のステップ