既存のクラスタのリセット / 削除

bmctl reset cluster によるクラスタのリセット

クラスタが正しくインストールされなかった場合、ノードをリセットしてクリーンな状態に戻すことができます。その後、構成を変更してクラスタを再インストールできます。

セルフマネージド クラスタのリセット

自己管理型のクラスタ(管理クラスタなど)をリセットするには、次のコマンドを実行します。

bmctl reset --cluster CLUSTER_NAME

CLUSTER_NAME は、リセットするクラスタの名前に置き換えます。

ユーザー クラスタのリセット

ユーザー クラスタをリセットするには、次のコマンドを実行します。

bmctl reset --cluster CLUSTER_NAME --admin-kubeconfig ADMIN_KUBECONFIG_PATH

CLUSTER_NAME をリセットするユーザー クラスタの名前に置き換え、ADMIN_KUBECONFIG_PATH を関連する管理クラスタの kubeconfig ファイルへのパスに置き換えます。bmctl では、--admin-kubeconfig フラグのエイリアスとして --kubeconfig の使用がサポートされます。

クラスタの詳細のリセット

クラスタのタイプに関係なく、リセット コマンドはクラスタ全体に適用されます。クラスタ内のノードのサブセットを対象にするオプションはありません。

bmctl cluster reset コマンドからの出力は、次のサンプルのようになります。

bmctl reset --cluster cluster1
Creating bootstrap cluster... OK
Deleting GKE Hub member admin in project my-gcp-project...
Successfully deleted GKE Hub member admin in project my-gcp-project
Loading images... OK
Starting reset jobs...
Resetting: 1    Completed: 0    Failed: 0
...
Resetting: 0    Completed: 1    Failed: 0
Flushing logs... OK

リセット オペレーションで、bmctl はまず GKE Hub メンバーシップの登録を削除して、影響を受けるノードのクリーンアップを行います。リセット中、ストレージのマウントと anthos-system StorageClass からのデータも削除されます。

bcmctl は、すべてのノードに kubeadm reset を実行し、クラスタ ネットワーキングに使用されているトンネル インターフェースを削除して、次のディレクトリを削除します。

  • /etc/kubernetes
  • /etc/cni/net.d
  • /root/.kube
  • /var/lib/kubelet

ロードバランサ ノードの場合、bmctl は次のアクションも実行します。

  • keepalived サービスと haproxy サービスを無効にします。
  • keepalivedhaproxy の構成ファイルを削除します。

リセットツールは、クラスタの構成ファイルが現在の作業ディレクトリの次の場所にあることを前提としています。

bmctl-workspace/cluster name/cluster name.yaml