6.6.3. 不健全な etcd メンバーのマシンを削除する
異常な etcd メンバーのマシンを削除して、障害が発生したコントロールプレーンノードの削除を完了します。
手順
以下のコマンドを実行して、Bare Metal Operator が利用可能であることを確認します。
$ oc get clusteroperator baremetal出力例
NAME VERSION AVAILABLE PROGRESSING DEGRADED SINCE MESSAGE baremetal 4.20.0 True False False 3d15h次のコマンドを実行して、影響を受けるノードの
BareMetalHostオブジェクトを後で使用するためにファイルに保存します。$ oc get -n openshift-machine-api bmh <node_name> -o yaml > bmh_affected.yaml<node_name>は、影響を受けるノードの名前に置き換えます。これは通常、関連付けられているBareMetalHost名と一致します。次のコマンドを実行して、保存された
BareMetalHostオブジェクトの YAML ファイルを表示し、内容が正しいことを確認します。$ cat bmh_affected.yaml次のコマンドを実行して、影響を受ける
BareMetalHostオブジェクトを削除します。$ oc delete -n openshift-machine-api bmh <node_name><node_name>は、影響を受けるノードの名前に置き換えます。次のコマンドを実行してすべてのマシンをリスト表示し、影響を受けるノードに関連付けられているマシンを特定します。
$ oc get machines -n openshift-machine-api -o wide出力例
NAME PHASE TYPE REGION ZONE AGE NODE PROVIDERID STATE examplecluster-control-plane-0 Running 3h11m openshift-control-plane-0 baremetalhost:///openshift-machine-api/openshift-control-plane-0/da1ebe11-3ff2-41c5-b099-0aa41222964e externally provisioned examplecluster-control-plane-1 Running 3h11m openshift-control-plane-1 baremetalhost:///openshift-machine-api/openshift-control-plane-1/d9f9acbc-329c-475e-8d81-03b20280a3e1 externally provisioned examplecluster-control-plane-2 Running 3h11m openshift-control-plane-2 baremetalhost:///openshift-machine-api/openshift-control-plane-2/3354bdac-61d8-410f-be5b-6a395b056135 externally provisioned examplecluster-compute-0 Running 165m openshift-compute-0 baremetalhost:///openshift-machine-api/openshift-compute-0/3d685b81-7410-4bb3-80ec-13a31858241f provisioned examplecluster-compute-1 Running 165m openshift-compute-1 baremetalhost:///openshift-machine-api/openshift-compute-1/0fdae6eb-2066-4241-91dc-e7ea72ab13b9 provisioned次のコマンドを実行して、異常なメンバーのマシンを削除します。
$ oc delete machine -n openshift-machine-api <machine_name><machine_name>は、影響を受けるノードに関連付けられているマシン名に置き換えます。コマンドの例
$ oc delete machine -n openshift-machine-api examplecluster-control-plane-2注記BareMetalHostおよびMachineオブジェクトを削除すると、マシンコントローラーによりNodeオブジェクトが自動的に削除されます。何らかの理由でマシンの削除が遅れたり、コマンドが妨げられて遅れたりする場合は、マシンオブジェクトのファイナライザーフィールドを削除することで強制的に削除できます。
警告Ctrl+cを押してマシンの削除を中断しないでください。コマンドが完了するまで続行できるようにする必要があります。新しいターミナルウィンドウを開き、ファイナライザーフィールドを編集して削除します。新しいターミナルウィンドウで、次のコマンドを実行してマシン設定を編集します。
$ oc edit machine -n openshift-machine-api examplecluster-control-plane-2Machineカスタムリソースの次のフィールドを削除し、更新されたファイルを保存します。finalizers: - machine.machine.openshift.io出力例
machine.machine.openshift.io/examplecluster-control-plane-2 edited