gkectl を使用して管理クラスタをバックアップおよび復元する

このページでは、gkectl コマンドを使用して、管理クラスタ(etcd のデータ、Secret、証明書など)をバックアップおよび復元する方法について説明します。管理クラスタを手動でバックアップおよび復元することもできます。

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

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

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

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

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

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

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

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

    clusterBackup:
      datastore: DATASTORE
    

    DATASTORE をバックアップを保存するデータストアに置き換えます。データストアは、管理クラスタと同じデータセンター内にある必要があります。バックアップは、指定したデータストアの anthos-backup/DATADISK_PATH ディレクトリにあります。

  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 が消失または破損しています。
  • 管理クラスタのコントロール プレーンのシークレットと証明書が失われたか、破損しています。

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

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

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

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