bmctl reset cluster
でクラスタをリセットする
クラスタが正しくインストールされなかった場合、クラスタをリセットしてノードをクリーンな状態に戻すことができます。クラスタをリセットすると、そのクラスタは削除されます。削除すると、必要な構成を変更してからクラスタを再インストールできます。
このドキュメントのコンテキストでは、リセットと削除は同じ意味で使用されます。
セルフマネージド クラスタをリセットする
自己管理型のクラスタ(管理クラスタなど)をリセットするには、次のコマンドを実行します。
bmctl reset --cluster CLUSTER_NAME
CLUSTER_NAME
は、リセットするクラスタの名前に置き換えます。
ユーザー クラスタをリセットする
ユーザー クラスタを削除またはリセットするには、それぞれ bmctl
または kubectl
を使用する 2 つの方法があります。ユーザー クラスタをリセットするには、bmctl
を使用することをおすすめします。
bmctl
を使用してユーザー クラスタをリセットする
bmctl
でユーザー クラスタをリセットするには、次のコマンドを実行します。
bmctl reset --cluster CLUSTER_NAME --admin-kubeconfig ADMIN_KUBECONFIG_PATH
次のように置き換えます。
CLUSTER_NAME
: リセットするユーザー クラスタの名前。ADMIN_KUBECONFIG_PATH
: 関連する管理クラスタのkubeconfig
ファイルへのパス。bmctl
では、--admin-kubeconfig
フラグのエイリアスとして--kubeconfig
の使用がサポートされます。
kubectl
を使用してユーザー クラスタを削除する
kubectl
を使用してユーザー クラスタを削除するには、まずクラスタ オブジェクトを削除してから、名前空間を削除する必要があります。そうしないと、マシンをリセットするためのジョブを作成できなくなり、削除プロセスが無期限に停止する可能性があります。
kubectl
でユーザー クラスタを削除するには:
次のコマンドを実行して、クラスタ オブジェクトを削除します。
kubectl delete cluster CLUSTER_NAME -n CLUSTER_NAMESPACE \ --kubeconfig ADMIN_KUBECONFIG_PATH
次のように置き換えます。
CLUSTER_NAME
: 削除するユーザー クラスタの名前。CLUSTER_NAMESPACE
: クラスタの名前空間。デフォルトでは、ベアメタル版 Anthos クラスタのクラスタ名前空間は、先頭にcluster-
が付いたクラスタの名前です。たとえば、クラスタにtest
という名前を付けると、名前空間の名前はcluster-test
のようになります。ADMIN_KUBECONFIG_PATH
: 関連する管理クラスタのkubeconfig
ファイルへのパス。
クラスタが正常に削除されたら、次のコマンドを実行して名前空間を削除します。
kubectl delete namespace CLUSTER_NAMESPACE --kubeconfig ADMIN_KUBECONFIG_PATH
クラスタの詳細のリセット
クラスタのタイプに関係なく、リセット コマンドはクラスタ全体に適用されます。クラスタ内のノードのサブセットを指定するオプションはありません。
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
からのデータも削除されます。
bmctl
は、すべてのノードで kubeadm reset
を実行し、クラスタ ネットワーキングに使用されているトンネル インターフェースを削除して、次のディレクトリを削除します。
/etc/kubernetes
/etc/cni/net.d
/root/.kube
/var/lib/kubelet
ロードバランサ ノードの場合、bmctl
は次のアクションも実行します。
keepalived
サービスとhaproxy
サービスを無効にします。keepalived
とhaproxy
の構成ファイルを削除します。
bmctl reset
コマンドは、クラスタ構成ファイルが現在の作業ディレクトリにあることを想定しています。デフォルトでは、パスは次のようになります: bmctl-workspace/CLUSTER_NAME/CLUSTER_NAME.yaml
クラスタの作成時に --workspacel-dir
フラグを使用して別のディレクトリを指定した場合は、クラスタのリセット時にそのフラグを使用して、その作業ディレクトリを指定する必要があります。