ボリューム データの復元動作を定義する


このページでは、ボリューム データの復元ポリシーの概要について説明します。また、ボリューム データの復元ポリシーのバインディングとオーバーライドの構成方法についても説明します。

概要

ボリューム データの復元ポリシーは、バックアップからボリューム データを復元する方法を定義します。これは、復元プランレベルで構成できます。次のポリシー オプションがあります。

  • 新しいボリュームをプロビジョニングし、バックアップからボリューム データを復元する: バックアップ内の対応するボリューム バックアップ データを使用して、新しい永続ボリューム(PV)が復元されます。
  • データを含む既存のボリュームを再利用する: バックアップ内の元の PV のボリューム ハンドルを使用して、PV が事前プロビジョニングされます。
  • ボリューム データを復元しない: PV は復元されません。Backup for GKE は、選択した永続ボリューム リクエスト(PVC)のみを復元します。対応するストレージ ドライバによって空の PV が動的にプロビジョニングされるか、帯域外で作成された事前プロビジョニング済みの PV にバインドされます。

ボリューム データの復元ポリシーを使用して復元プランを作成する手順については、復元プランを作成するをご覧ください。

デフォルトのボリューム データの復元ポリシーとは別に、カスタム ボリュームの復元動作を定義する理由はいくつかあります。

  • データ バックアップのサポートレベルが異なるさまざまなタイプのボリュームが存在するストレージ環境でワークロードを復元する。たとえば、ワークロードに NFS ボリュームと Persistent Disk ボリュームが含まれている場合があります。
  • 特定のボリュームに別の復元プロセスを適用する。

Backup for GKE には、カスタム ボリュームの復元動作を定義するための 2 つのメカニズムがあります。

  • ボリューム タイプ固有のバインディング。復元プランの一部として定義できます。
  • ボリューム固有のオーバーライド。復元の一部として定義できます。

ボリューム データの復元ポリシーの選択プロセス

復元プロセス中に、Backup for GKE は次の順序で各 PersistentVolumeClaim(PVC)に適したボリューム復元ポリシーを選択します。

  1. 変換ルールが適用される前に、復元する各 PVC に選択プロセスが実行され、最初の対象ポリシーが適用されます。
  2. PVC がバックアップされた PersistentVolume(PV)にバインドされていない場合、PVC 構成のみが復元されます。データは一切送信されません。
  3. PVC がボリューム データの復元ポリシーのオーバーライドに含まれている場合、オーバーライド ポリシーが優先されます。
  4. PVC のボリューム タイプがボリューム データの復元ポリシー バインディングに含まれている場合、バインディング ポリシーが適用されます。
  5. 上記のいずれの条件にも一致しない場合、PVC はデフォルトのボリューム データの復元ポリシーを使用します。

ボリューム データの復元ポリシーのバインディング

ボリューム データの復元ポリシーのバインディングを使用すると、特定のボリューム タイプのポリシーでボリューム データを復元できます。このポリシーは、デフォルトのボリューム復元ポリシーよりも優先されます。ボリューム データの復元ポリシー バインディングは、Compute Engine Persistent Disk でのみサポートされています。

gcloud

既存の復元プランにボリューム データの復元ポリシーのバインディングを追加します。

  gcloud beta container backup-restore restore-plans update RESTORE_PLAN \
      --project=PROJECT_ID \
      --location=LOCATION \
      --volume-data-restore-policy-bindings=[VOLUME_TYPE=POLICY,...]

次のように置き換えます。

  • RESTORE_PLAN: 更新する復元プランの名前。
  • PROJECT_ID: Google Cloud プロジェクトの ID。
  • LOCATION: リソースのコンピューティング リージョンus-central1 など)。
  • VOLUME_TYPE=POLICY: サポートされているボリューム タイプをボリューム データの復元ポリシーにバインドします。たとえば、gce-persistent-disk=restore-volume-data-from-backup は、「バックアップからボリューム データを復元する」ポリシーを使用して Persistent Disk ボリュームが復元されるようにバインディングを作成します。

コンソール

Google Cloud コンソールで既存の復元プランにバインディングを追加する手順は次のとおりです。

  1. Google Cloud コンソールで、Google Kubernetes Engine のページに移動します。

    Google Kubernetes Engine に移動

  2. ナビゲーション メニューで [Backup for GKE] をクリックします。

  3. [復元プラン] タブをクリックします。

  4. 復元プランの名前をクリックします。

  5. [詳細] タブをクリックします。

  6. [構成の復元] セクションで、[スコープ] の横にある [編集] をクリックします。

  7. [特定のボリューム タイプについてポリシーのオーバーライドを定義する] セクションで、[GCE Persistent Disk] チェックボックスをオンにします。

  8. [ボリューム データの復元ポリシー] リストから、Compute Engine Persistent Disk に使用する復元ポリシーのタイプを選択します。

  9. [保存] をクリックします。

ボリューム データの復元ポリシーのオーバーライド

ボリューム データの復元ポリシーのオーバーライドでは、特定のボリュームの復元方法を定義します。ボリュームは、PVC Namespace と PVC 名で選択されます。1 つのオーバーライドに複数のボリュームを含めることができます。

オーバーライドでは、バインディングとは異なり、一意のスコープ設定は適用されません。つまり、ボリュームの復元中に、ボリュームの Namespace と名前に一致する最新のオーバーライドからポリシーが使用されます。

オーバーライドの例

次の例では、ns-1/test-pvcns-1/test-pvc-2 をオーバーライドして「データを含む既存のボリュームを再利用する」ポリシーを使用し、ns-2/test-pvc-3 をオーバーライドして「ボリューム データを復元しない」ポリシーを使用します。

    volumeDataRestorePolicyOverrides:
    - policy: REUSE_VOLUME_HANDLE_FROM_BACKUP
      selectedPvcs:
        namespacedNames:
        - namespace: ns-1
            name: test-pvc
        - namespace: ns-1
            name: test-pvc-2
    - policy: NO_VOLUME_DATA_RESTORATION
      selectedPvcs:
        namespacedNames:
        - namespace: ns-2
            name: test-pvc-3

gcloud

オーバーライドを使用して復元を作成します。

gcloud beta container backup-restore restores create RESTORE \
    --project=PROJECT_ID \
    --location=LOCATION \
    --restore-plan=RESTORE_PLAN \
    --backup=BACKUP \
    --volume-data-restore-policy-overrides-file=OVERRIDES_FILE

次のように置き換えます。

  • RESTORE: 作成する復元の名前。
  • PROJECT_ID: Google Cloud プロジェクトの ID。
  • LOCATION: 親の復元プランのコンピューティング リージョン
  • RESTORE_PLAN: この復元の派生元である親の復元プランの名前。
  • BACKUP: 復元するバックアップ。
  • OVERRIDES_FILE: 例に示すように、スキーマのオーバーライドを定義する YAML ファイルのパス。

コンソール

ボリューム データの復元ポリシーのオーバーライドを作成するには、PVC 名、PVC Namespace、復元ポリシーを指定する必要があります。

Google Cloud コンソールでオーバーライドを含む復元を作成するには、次の操作を行います。

  1. Google Cloud コンソールで、Google Kubernetes Engine のページに移動します。

    Google Kubernetes Engine に移動

  2. ナビゲーション メニューで [Backup for GKE] をクリックします。

  3. [バックアップ] タブをクリックします。

  4. バックアップのリストで、復元するバックアップを見つけて、[復元を設定する] をクリックします。

  5. このバックアップに適用されるプランのリストから、復元プランを選択します。

  6. [復元に名前を付ける] セクションで、復元の名前と説明(省略可)を入力します。

  7. [ボリューム データの復元ポリシーをオーバーライドする] セクションで、[ポリシーを追加] をクリックし、オーバーライドごとに次の操作を行います。

    1. [PVC 名] に PVC の名前を入力します。
    2. [Namespace] に PVC の Namespace を入力します。
    3. [Volume restore policy] リストから、その PVC のボリューム データを復元する方法を選択します。
  8. [復元] をクリックします。

次のステップ