ベアメタル版 Anthos クラスタで破損したノードを強制削除する

壊れたノードを、修復または交換のために削除するには、クラスタから強制的に削除しなければならない場合があります。強制削除は、クラスタ管理の観点から壊れたノードのみを削除します。強制削除では、ノード自体にインストールされているコンポーネントのクリーンアップ ジョブが省略されます。ノードを復元する際、再利用できるように、bmctl reset nodes を実行してノードにインストールされているコンポーネントをクリーンアップします。

ノードの強制削除

以下の方法は、コントロール プレーン ノードとワーカーノードの両方に適用されます。コントロール プレーン ノードの場合、ベアメタル版 Anthos クラスタのコントローラは、etcd メンバーシップの keep 記も行います。

bmctl の使用

bmctl を使用すると、ノードをクラスタから削除できます。通常 bmctl reset は、リセットジョブをトリガーして、ノードにインストールされたコンポーネントをクリーンアップしようとします。インストールされているパッケージのクリーンアップをブロックせずにノードをクラスタから削除するには、--force フラグを指定して bmctl コマンドを実行します。

bmctl reset nodes --addresses NODE_IP --force --kubeconfig ADMIN_KUBECONFIG --cluster CLUSTER_NAME

以下を置き換えます。

  • NODE_IP: リセットするノードの IP アドレス(例: 10.200.0.8)。

  • ADMIN_KUBECONFIG: 管理クラスタの kubeconfig ファイルのパス。

  • CLUSTER_NAME: ノードを含むターゲット クラスタの名前。

kubectl の使用

ベアメタル版 Anthos クラスタでは、ノードに強制削除対象のマークを付けるアノテーションを追加できます。

親ノードプールからノードを削除した後、次のコマンドを実行して、対応する障害が発生したマシンに baremetal.cluster.gke.io/force-remove アノテーションを付けます。アノテーション自体の値は重要ではありません。

kubectl --kubeconfig ADMIN_KUBECONFIG -n CLUSTER_NAMESPACE \
  annotate machine 10.200.0.8 baremetal.cluster.gke.io/force-remove=true

ベアメタル版 Anthos クラスタはノードを正常に削除します。