6.6.3. 删除不健康 etcd 成员的机器


通过删除不健康 etcd 成员的机器来完成对失败的 control plane 节点的删除。

流程

  1. 运行以下命令,确保 Bare Metal Operator 可用:

    $ oc get clusteroperator baremetal

    输出示例

    NAME        VERSION   AVAILABLE   PROGRESSING   DEGRADED   SINCE   MESSAGE
    baremetal   4.22.0    True        False         False      3d15h

  2. 运行以下命令,将受影响节点的 BareMetalHost 对象保存到文件中,以便稍后使用:

    $ oc get -n openshift-machine-api bmh <node_name> -o yaml > bmh_affected.yaml

    <node_name> 替换为受影响节点的名称,这通常与关联的 BareMetalHost 名称匹配。

  3. 运行以下命令,查看保存的 BareMetalHost 对象的 YAML 文件,并确保内容正确:

    $ cat bmh_affected.yaml
  4. 运行以下命令来删除受影响的 BareMetalHost 对象:

    $ oc delete -n openshift-machine-api bmh <node_name>

    <node_name> 替换为受影响节点的名称。

  5. 运行以下命令列出所有机器,并识别与受影响节点关联的机器:

    $ 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

  6. 运行以下命令来删除不健康成员的机器:

    $ oc delete machine -n openshift-machine-api <machine_name>

    <machine_name> 替换为与受影响节点关联的机器名称。

    示例命令

    $ oc delete machine -n openshift-machine-api examplecluster-control-plane-2

    注意

    删除 BareMetalHostMachine 对象后,机器控制器会自动删除 Node 对象。

  7. 如果删除机器因任何原因或者命令被移动而延迟而延迟而延迟,可以通过删除机器对象终结器字段来强制删除。

    警告

    不要通过按 Ctrl+c 中断机器删除。您必须允许命令继续完成。打开一个新的终端窗口来编辑并删除 finalizer 字段。

    1. 在新的终端窗口中,运行以下命令来编辑机器配置:

      $ oc edit machine -n openshift-machine-api examplecluster-control-plane-2
    2. 删除 Machine 自定义资源中的以下字段,然后保存更新的文件:

      finalizers:
      - machine.machine.openshift.io

      输出示例

      machine.machine.openshift.io/examplecluster-control-plane-2 edited

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部