6.6.3. 删除不健康 etcd 成员的机器
通过删除不健康 etcd 成员的机器来完成对失败的 control plane 节点的删除。
流程
运行以下命令,确保 Bare Metal Operator 可用:
$ oc get clusteroperator baremetal输出示例
NAME VERSION AVAILABLE PROGRESSING DEGRADED SINCE MESSAGE baremetal 4.22.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中断机器删除。您必须允许命令继续完成。打开一个新的终端窗口来编辑并删除 finalizer 字段。在新的终端窗口中,运行以下命令来编辑机器配置:
$ oc edit machine -n openshift-machine-api examplecluster-control-plane-2删除
Machine自定义资源中的以下字段,然后保存更新的文件:finalizers: - machine.machine.openshift.io输出示例
machine.machine.openshift.io/examplecluster-control-plane-2 edited