管理クラスタのコントロール プレーン VM を修復する

Google Distributed Cloud の実装では、管理クラスタのコントロール プレーン VM に 2 つのディスクがアタッチされています。

  • ブートディスクには VM のオペレーティング システムがあります。

  • データディスクには、認証情報と etcd データベースがあり、管理クラスタの状態が保存されます。つまり、データディスクには、管理クラスタのすべての Kubernetes オブジェクトが格納されます。

このページでは、コントロール プレーン VM が失われた、またはブートディスクが不正に使用された場合に復元する方法を説明します。例:

  • スパム ジャーナル ログにより、ブートディスクが読み取り専用になる。
  • Docker オーバーレイ ファイル システムが破損する。

このページでは、データディスクの復元について説明しません。データディスクを復元する方法については、管理クラスタの復元をご覧ください。

コントロール プレーン VM を修復する

管理クラスタのコントロール プレーン VM を修復する手順は、高可用性(HA)管理クラスタと非 HA 管理クラスタのどちらが存在するかによって異なります。

HA

HA 管理クラスタには 3 つのコントロール プレーン VM があります。クラスタ コントロール プレーンを起動するには、少なくとも 2 つの VM が必要です。3 つの VM に障害が発生した場合は、障害が発生した VM を 1 つずつ修復します。2 番目の VM が修復されて実行されると、クラスタ コントロール プレーンが復旧します。

  1. 次のコマンドを実行します。

    gkectl repair admin-master --config ADMIN_CLUSTER_CONFIG --kubeconfig ADMIN_CLUSTER_KUBECONFIG
    

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

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

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

    コマンドの出力は、次のようになります。

    Please select the control plane VM template to be used for re-creating the admin cluster's control plane VM.
    [1] VM template:         /atl-qual-vc07/vm/gke-admin-57f8g-fx9f4c729448z2v8-2-tmpl
        GKE on-prem version: 1.16.0-gke.550
        Creation time:       2023-07-25 01:52:51.815518 +0000 UTC
        CPU:                 4 CPU(s)
        Memory:              16384 MB
        Data disk:           [vsanDatastore] 37a73d64-b823-47cd-2e0c-00620b9189a0/gke-admin-57f8g/default/gke-admin-57f8g-2-data.vmdk
    
    [2] VM template:         /atl-qual-vc07/vm/gke-admin-57f8g-fx9f4c729448z2v8-0-tmpl
        GKE on-prem version: 1.16.0-gke.550
        Creation time:       2023-07-25 01:52:54.228252 +0000 UTC
        CPU:                 4 CPU(s)
        Memory:              16384 MB
        Data disk:           [vsanDatastore] 37a73d64-b823-47cd-2e0c-00620b9189a0/gke-admin-57f8g/default/gke-admin-57f8g-0-data.vmdk
    
    [3] VM template:         /atl-qual-vc07/vm/gke-admin-57f8g-fx9f4c729448z2v8-1-tmpl
        GKE on-prem version: 1.16.0-gke.550
        Creation time:       2023-07-25 01:52:54.210705 +0000 UTC
        CPU:                 4 CPU(s)
        Memory:              16384 MB
        Data disk:           [vsanDatastore] 37a73d64-b823-47cd-2e0c-00620b9189a0/gke-admin-57f8g/default/gke-admin-57f8g-1-data.vmdk
    
    Please enter your numeric choice:
    
  2. 修復する VM の番号を入力します。出力に VM が表示されない場合は、Google Cloud サポートにお問い合わせください。

    修復が必要な VM が 3 台ある場合、gkectl repair admin-master は最初の VM を修復した後に次のようなエラー メッセージを出力します。

    If you are repairing admin control plane VM for HA admin cluster,
    it's possible that the API server is still down after repairing one
    of the VMs. Try continue fixing other control plane VMs listed to
    recover the quorum of control plane.
    

    この場合は、コマンドを再実行して 2 番目の VM を修復します。

非 HA

次のコマンドを実行します。

gkectl repair admin-master \
  --config ADMIN_CLUSTER_CONFIG \
  --kubeconfig ADMIN_CLUSTER_KUBECONFIG

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

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

管理クラスタのコントロール プレーン VM のクローンが VM テンプレートに作成され、VM の再作成に必要な情報がすべて含まれます。gkectl repair admin-master コマンドは、VM テンプレートを使用して新しい VM を作成します。その後、新しいブートディスクと既存のデータディスクをアタッチします。

クラスタノードが DHCP サーバーからアドレスを取得すると、新しい VM に元の VM と異なる IP アドレスが割り振られる可能性があります。

次のステップ