gkectl を使用した管理クラスタのバックアップと復元

このページでは、VMware 用 Google Distributed Cloud(ソフトウェアのみ)で作成した管理クラスタをバックアップして復元する方法について説明します。バックアップ プロセスでは、gkectl コマンドライン ツールを使用してクラスタの etcd データ、Secret、証明書のバックアップを行います。管理クラスタのバックアップと復元を手動で行うこともできます。

管理クラスタのバックアップ

クラスタの作成前、更新、アップグレード後にバックアップが自動的に実行されるように、管理クラスタのバックアップを設定できます。必要に応じてオンデマンド バックアップを実行することもできます。

管理クラスタのバックアップには次のものが含まれます。

  • 管理クラスタの etcd データ
  • Secret
  • 証明書
  • 常時有効なシークレット暗号鍵と構成ファイル(常時有効なシークレット暗号化機能が有効になっている場合)
  • 管理クラスタの kubeconfig ファイル(1.29 以降)
  • 管理クラスタの SSH 認証鍵ファイル(1.29 以降)

バックアップのサイズは、クラスタのサイズに応じて 3 MB~100 MB になります。

管理クラスタのバックアップ機能を有効にする

デフォルトでは、この機能は無効になっています。管理クラスタのバックアップ機能を有効にするには:

  1. 管理クラスタの構成ファイルに次のセクションを追加します。

    clusterBackup:
      datastore: DATASTORE
    

    DATASTORE は、バックアップを保存するデータストアに置き換えます。データストアは、管理クラスタと同じデータセンター内にある必要があります。

    非 HA 管理クラスタの場合、バックアップは、指定したデータストアの anthos-backup/DATADISK_PATH ディレクトリに作成されます。

    HA 管理クラスタの場合、バックアップは、指定したデータストアの anthos/ADMIN_CLUSTER_NAME/backup ディレクトリに作成されます。

  2. 管理クラスタを更新します。

    gkectl update admin --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config ADMIN_CLUSTER_CONFIG
    

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

    • ADMIN_CLUSTER_KUBECONFIG は、管理クラスタの kubeconfig ファイルのパスに置き換えます。
    • ADMIN_CLUSTER_CONFIG は、管理クラスタ構成ファイルのパスで置き換えます。

管理クラスタのバックアップ機能を無効にする

  1. 管理クラスタの構成ファイルから clusterBackup セクションを削除します。

    clusterBackup:
      datastore: DATASTORE
    
  2. 次のコマンドを使用して、この変更で管理クラスタを更新します。

    gkectl update admin --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config ADMIN_CLUSTER_CONFIG
    

バックアップ データストアを更新する

新しい場所を反映するように clusterBackup.datastore を更新して、バックアップが保存されるデータストアを更新できます。新しいデータストアは、管理クラスタと同じデータセンター内にある必要があります。

  1. 管理クラスタの構成ファイルを編集して、clusterBackup.datastore の値を変更します。

    clusterBackup:
      datastore: new-datastore
    
  2. 次のコマンドを使用して、この変更で管理クラスタを更新します。

    gkectl update admin --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config ADMIN_CLUSTER_CONFIG
    

オンデマンド バックアップ

オンデマンド管理クラスタのバックアップをトリガーするには、次のコマンドを実行します。

gkectl  backup admin --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config ADMIN_CLUSTER_CONFIG
   

バックアップ数の上限

バックアップは最大で 6 つ(オンデマンド バックアップは最大 3 つ)、クラスタの更新、アップグレード、作成の各オペレーションから最大 3 つまで分割できます。これらの上限を超えると、バックアップは自動的にローテーションされます。手動での操作は必要ありません。

管理クラスタを復元する

データ損失や破損が起きている場合にのみ、管理クラスタを復元する必要があります。例:

  • 管理マスター データディスクが失われたか、破損している。
  • 管理クラスタの etcd が消失または破損している。
  • 管理クラスタのコントロール プレーンの Secret と証明書が失われたか、破損している。

稼働している管理クラスタを以前の任意の状態に復元する際は、この方法を使用しないでください。この復元機能は、クラスタの更新やクラスタのアップグレードなど、管理クラスタを元に戻す方法としては使用しないでください。

HA 管理クラスタを復元する際にこの方法を使用しないでください。HA 管理クラスタの場合、gkectl repair admin-master のみがサポートされ、gkectl repair admin-master --restore-from-backup はサポートされません。

バックアップから管理クラスタを再作成するには、次のコマンドを実行します。

  gkectl repair admin-master --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config ADMIN_CLUSTER_CONFIG --restore-from-backup
  

このコマンドは、管理クラスタの構成ファイルの clusterBackup セクションで定義したデータストアから、この管理クラスタのすべてのバックアップを取得します。また、管理クラスタの復元に使用するバックアップを選択するよう求められます。