1.6. 关于检查机器配置节点状态


如果更改了集群中默认 control plane 或 worker 节点,例如使用机器配置或 kubelet 配置,您可以使用机器配置自定义资源获取有关节点更新进度的详细信息。导致新机器配置的任何更改都会触发节点更新过程。

您可以查看在 OpenShift Container Platform 安装后创建的 control planeworker 机器配置池中的节点的详细信息。您不能使用自定义机器配置池。

MachineConfigNode 自定义资源允许您在通过升级阶段进行时监控单个节点更新的进度。如果其中一个节点在更新过程中出现问题,这些信息可以帮助进行故障排除。自定义资源报告节点在更新过程中的位置、已完成的阶段以及剩余的阶段。

重要

机器配置节点自定义资源只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。

有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围

节点更新过程由机器配置节点自定义资源跟踪的以下阶段和子阶段组成,如本节后续部分中的更多详情:

  • 更新准备。MCO 停止配置偏移监控过程,并验证新创建的机器配置是否可以应用到节点。

    • UpdateCompatible
  • 更新已执行。MCO 对节点进行 cordon 和 drain 操作,并根据需要将新机器配置应用到节点的文件和操作系统。它包含以下子阶段:

    • Cordoned
    • Drained
    • AppliedFilesAndOS
  • PinnedImageSetsProgressing MCO 执行固定和预加载容器镜像所需的步骤。
  • PinnedImageSetsDegraded 固定镜像进程失败。您可以使用 oc describe machineconfignode 命令查看失败的原因,如本节后面的部分所述。
  • 更新 Post update 操作。MCO 根据需要重启节点或重新载入 CRI-O。

    • RebootedNode
    • ReloadedCRIO
  • 更新完成。MCO 取消记录节点,将节点状态更新为集群,并恢复生成节点指标。

    • Updated
    • Uncordoned
  • Resumed.MCO 重启配置偏移监控过程,节点会返回操作状态。

当更新通过这些阶段时,您可以查询 MachineConfigNode 自定义资源,这会为每个阶段报告以下条件之一:

  • True。该阶段在该节点上完成,或者 MCO 已在该节点上启动该阶段。
  • False。阶段正在执行,也不会在该节点上执行。
  • Unknown。该阶段要么在该节点上执行,或者出现错误。如果阶段出现错误,您可以使用 oc describe machineconfignodes 命令以了解更多信息,如本节后续部分中所述。

例如,假设带有新创建的机器配置的集群:

$ oc get machineconfig
Copy to Clipboard Toggle word wrap

输出示例

# ...
rendered-master-23cf200e4ee97daa6e39fdce24c9fb67   c00e2c941bc6e236b50e0bf3988e6c790cf2bbb2   3.5.0             6d15h
rendered-master-a386c2d1550b927d274054124f58be68   c00e2c941bc6e236b50e0bf3988e6c790cf2bbb2   3.5.0             7m26s
# ...
rendered-worker-01f27f752eb84eba917450e43636b210   c00e2c941bc6e236b50e0bf3988e6c790cf2bbb2   3.5.0             6d15h 
1

rendered-worker-f351f6947f15cd0380514f4b1c89f8f2   c00e2c941bc6e236b50e0bf3988e6c790cf2bbb2   3.5.0             7m26s 
2

# ...
Copy to Clipboard Toggle word wrap

1
control plane 和 worker 节点的当前机器配置。
2
新创建的机器配置,应用到 control plane 和 worker 节点。

您可以使用新机器配置监视节点被更新:

$ oc get machineconfignodes
Copy to Clipboard Toggle word wrap

输出示例

NAME                                       POOLNAME   DESIREDCONFIG                                      CURRENTCONFIG                                      UPDATED
ci-ln-ds73n5t-72292-9xsm9-master-0         master     rendered-master-a386c2d1550b927d274054124f58be68   rendered-master-a386c2d1550b927d274054124f58be68   True
ci-ln-ds73n5t-72292-9xsm9-master-1         master     rendered-master-a386c2d1550b927d274054124f58be68   rendered-master-23cf200e4ee97daa6e39fdce24c9fb67   False
ci-ln-ds73n5t-72292-9xsm9-master-2         master     rendered-master-23cf200e4ee97daa6e39fdce24c9fb67   rendered-master-23cf200e4ee97daa6e39fdce24c9fb67   True
ci-ln-ds73n5t-72292-9xsm9-worker-a-2d8tz   worker     rendered-worker-f351f6947f15cd0380514f4b1c89f8f2   rendered-worker-f351f6947f15cd0380514f4b1c89f8f2   True 
1

ci-ln-ds73n5t-72292-9xsm9-worker-b-gw5sd   worker     rendered-worker-f351f6947f15cd0380514f4b1c89f8f2   rendered-worker-01f27f752eb84eba917450e43636b210   False 
2

ci-ln-ds73n5t-72292-9xsm9-worker-c-t227w   worker     rendered-worker-01f27f752eb84eba917450e43636b210   rendered-worker-01f27f752eb84eba917450e43636b210   True 
3
Copy to Clipboard Toggle word wrap

1
此节点已更新。新机器配置 rendered-worker-f351f6947f15cd0380514f4b1c89f8f2 显示为所需的和当前的机器配置。
2
此节点当前正在更新为新机器配置。之前和新机器配置分别显示为所需的和当前的机器配置。
3
此节点尚未更新至新机器配置。前面的机器配置显示为所需的和当前的机器配置。
Expand
表 1.1. 基本机器配置节点字段
字段含义

NAME

节点的名称。

POOLNAME

与该节点关联的机器配置池的名称。

DESIREDCONFIG

节点更新的新机器配置名称。

CURRENTCONFIG

该节点上当前机器配置的名称。

UPDATED

指明节点是否已使用以下条件之一更新:

  • 如果为 False,则该节点将更新为 DESIREDCONFIG 字段中显示的新机器配置。
  • 如果为 True,并且 CURRENTCONFIGDESIREDCONFIG 字段中显示的新机器配置匹配,则该节点已更新。
  • 如果为 True,并且 CURRENTCONFIGDESIREDCONFIG 字段中显示的旧机器配置匹配,则该节点尚未更新。

您可以使用 -o wide 标志来显示有关更新的附加信息:

$ oc get machineconfignodes -o wide
Copy to Clipboard Toggle word wrap

输出示例

$ oc get machineconfignode -o wide
NAME                                       POOLNAME   DESIREDCONFIG                                      CURRENTCONFIG                                      UPDATED   UPDATEPREPARED   UPDATEEXECUTED   UPDATEPOSTACTIONCOMPLETE   UPDATECOMPLETE   RESUMED   UPDATECOMPATIBLE   UPDATEDFILESANDOS   CORDONEDNODE   DRAINEDNODE   REBOOTEDNODE   RELOADEDCRIO   UNCORDONEDNODE
ci-ln-ds73n5t-72292-9xsm9-master-0         master     rendered-master-23cf200e4ee97daa6e39fdce24c9fb67   rendered-master-23cf200e4ee97daa6e39fdce24c9fb67   True      False            False            False                      False            False     False              False               False          False         False          False          False
ci-ln-ds73n5t-72292-9xsm9-master-1         master     rendered-master-23cf200e4ee97daa6e39fdce24c9fb67   rendered-master-23cf200e4ee97daa6e39fdce24c9fb67   True      False            False            False                      False            False     False              False               False          False         False          False          False
ci-ln-ds73n5t-72292-9xsm9-master-2         master     rendered-master-23cf200e4ee97daa6e39fdce24c9fb67   rendered-master-23cf200e4ee97daa6e39fdce24c9fb67   True      False            False            False                      False            False     False              False               False          False         False          False          False
ci-ln-ds73n5t-72292-9xsm9-worker-a-2d8tz   worker     rendered-worker-f351f6947f15cd0380514f4b1c89f8f2   rendered-worker-f351f6947f15cd0380514f4b1c89f8f2   True      False            False            False                      False            False     False              False               False          False         False          False          False
ci-ln-ds73n5t-72292-9xsm9-worker-b-gw5sd   worker     rendered-worker-f351f6947f15cd0380514f4b1c89f8f2   rendered-worker-01f27f752eb84eba917450e43636b210   False     True             True             Unknown                    False            False     True               True                True           True          Unknown        False          False
ci-ln-ds73n5t-72292-9xsm9-worker-c-t227w   worker     rendered-worker-01f27f752eb84eba917450e43636b210   rendered-worker-01f27f752eb84eba917450e43636b210   True      False            False            False                      False            False     False              False               False          False         False          False          False
Copy to Clipboard Toggle word wrap

除了上表中定义的字段外,-o wide 输出还会显示以下字段:

Expand
表 1.2. -o wide 输出中机器配置节点字段
阶段名称定义

UPDATEPREPARED

指明 MCO 是否准备更新节点。

UPDATEEXECUTED

指明 MCO 是否已完成节点上的更新正文。

UPDATEPOSTACTIONCOMPLETE

指明 MCO 是否已在节点上执行更新后操作。

UPDATECOMPLETE

指明 MCO 是否在节点上完成更新。

RESUMED

指明节点是否已恢复正常进程。

UPDATECOMPATIBLE

指明 MCO 是否已确定它可以在节点上执行更新。

UPDATEDFILESANDOS

指明 MCO 是否已更新节点文件和操作系统。

CORDONEDNODE

指明 MCO 是否已将节点标记为不可调度。

DRAINEDNODE

指明 MCO 是否已排空节点。

REBOOTEDNODE

指明 MCO 是否已重启该节点。

RELOADEDCRIO

指明 MCO 是否已重启 CRI-O 服务。

UNCORDONEDNODE

指明 MCO 是否已将节点标记为可以调度。

如需更新状态的更多详细信息,您可以使用 oc describe machineconfignode 命令:

$ oc describe machineconfignode/<machine_config_node_name>
Copy to Clipboard Toggle word wrap

输出示例

Name:         <machine_config_node_name> 
1

Namespace:
Labels:       <none>
Annotations:  <none>
API Version:  machineconfiguration.openshift.io/v1alpha1
Kind:         MachineConfigNode
Metadata:
  Creation Timestamp:  2023-10-17T13:08:58Z
  Generation:          1
  Resource Version:    49443
  UID:                 4bd758ab-2187-413c-ac42-882e61761b1d
Spec:
  Node Ref:
    Name:         <node_name>
  Pool:
    Name:         worker
  ConfigVersion:
    Desired: rendered-worker-f351f6947f15cd0380514f4b1c89f8f2 
2

Status:
  Conditions:
    Last Transition Time:  2025-01-14T17:01:16Z
    Message:               Node ci-ln-ds73n5t-72292-9xsm9-worker-b-gw5sd needs an update
    Reason:                Updated
    Status:                False
    Type:                  Updated
    Last Transition Time:  2025-01-14T17:01:18Z
    Message:               Update is Compatible.
    Reason:                UpdateCompatible
    Status:                True
    Type:                  UpdatePrepared
    Last Transition Time:  2025-01-14T17:04:08Z
    Message:               Updated the Files and OS on disk as a part of the in progress phase
    Reason:                AppliedFilesAndOS
    Status:                True
    Type:                  UpdateExecuted
    Last Transition Time:  2025-01-14T17:04:08Z
    Message:               Node will reboot into config rendered-worker-db01b33f959e5645a721da50a6db1fbb
    Reason:                RebootedNode
    Status:                Unknown
    Type:                  UpdatePostActionComplete
    Last Transition Time:  2025-01-14T16:04:27Z
    Message:               Action during update to rendered-worker-f351f6947f15cd0380514f4b1c89f8f2: UnCordoned Node as part of completing upgrade phase
    Reason:                Uncordoned
    Status:                False
    Type:                  UpdateComplete
    Last Transition Time:  2025-01-14T16:04:27Z
    Message:               Action during update to rendered-worker-f351f6947f15cd0380514f4b1c89f8f2: In desired config rendered-worker-01f27f752eb84eba917450e43636b210. Resumed normal operations.
    Reason:                Resumed
    Status:                False
    Type:                  Resumed
    Last Transition Time:  2025-01-14T17:01:18Z
    Message:               Update Compatible. Post Cfg Actions []: Drain Required: true
    Reason:                UpdatePreparedUpdateCompatible
    Status:                True
    Type:                  UpdateCompatible
    Last Transition Time:  2025-01-14T17:03:57Z
    Message:               Drained node. The drain is complete as the desired drainer matches current drainer: drain-rendered-worker-db01b33f959e5645a721da50a6db1fbb
    Reason:                UpdateExecutedDrained
    Status:                True
    Type:                  Drained
    Last Transition Time:  2025-01-14T17:04:08Z
    Message:               Applied files and new OS config to node. OS did not need an update. SSH Keys did not need an update
    Reason:                UpdateExecutedAppliedFilesAndOS
    Status:                True
    Type:                  AppliedFilesAndOS
    Last Transition Time:  2025-01-14T17:01:23Z
    Message:               Cordoned node. The node is reporting Unschedulable = true
    Reason:                UpdateExecutedCordoned
    Status:                True
    Type:                  Cordoned
    Last Transition Time:  2025-01-14T17:04:08Z
    Message:               Upgrade requires a reboot. Currently doing this as the post update action.
    Reason:                UpdatePostActionCompleteRebootedNode
    Status:                Unknown
    Type:                  RebootedNode
    Last Transition Time:  2025-01-14T15:30:57Z
    Message:               This node has not yet entered the ReloadedCRIO phase
    Reason:                NotYetOccured
    Status:                False
    Type:                  ReloadedCRIO
    Last Transition Time:  2025-01-14T16:04:27Z
    Message:               Action during update to rendered-worker-f351f6947f15cd0380514f4b1c89f8f2: UnCordoned node. The node is reporting Unschedulable = false
    Reason:                UpdateCompleteUncordoned
    Status:                False
    Type:                  Uncordoned
    Last Transition Time:  2025-01-14T16:04:07Z
    Message:               All is good
    Reason:                AsExpected
    Status:                False
    Type:                  PinnedImageSetsDegraded
    Last Transition Time:  2025-01-14T16:04:07Z
    Message:               All pinned image sets complete
    Reason:                AsExpected
    Status:                False
    Type:                  PinnedImageSetsProgressing
  Config Version:
    Current:            rendered-worker-01f27f752eb84eba917450e43636b210 
3

    Desired:            rendered-worker-f351f6947f15cd0380514f4b1c89f8f2
  Observed Generation:  6
# ...
Copy to Clipboard Toggle word wrap

1
MachineConfigNode 对象名称。
2
新机器配置。在 MCO 在 UPDATEPREPARED 阶段验证机器配置后,此字段会更新,然后状态会添加新配置。
3
节点上的当前机器配置。

1.6.1. 检查机器配置节点状态

在更新机器配置池(MCP)的过程中,您可以使用 oc get machineconfignodesoc describe machineconfignodes 命令监控集群中所有 control plane 和 worker 节点的进度。这些命令提供在更新过程中出现问题时很有用的信息,您需要对节点进行故障排除。

您不能将这些命令用于自定义机器配置池。

有关这些字段的含义的更多信息,请参阅"关于检查机器配置节点状态"。

先决条件

  • 您可以通过编辑名为 clusterFeatureGate CR 为集群启用所需的技术预览功能:

    $ oc edit featuregate cluster
    Copy to Clipboard Toggle word wrap

    FeatureGate CR 示例

    apiVersion: config.openshift.io/v1
    kind: FeatureGate
    metadata:
      name: cluster
    spec:
      featureSet: TechPreviewNoUpgrade
    Copy to Clipboard Toggle word wrap

    警告

    在集群中启用 TechPreviewNoUpgrade 功能集无法撤消,并会阻止次版本更新。此功能集允许您在测试集群中启用这些技术预览功能,您可以在测试集群中完全测试它们。不要在生产环境集群中启用此功能。

    保存更改后,会创建新的机器配置,然后更新机器配置池,并在应用更改时在每个节点上调度。

流程

  • 运行以下命令,查看集群中所有节点的更新状态,包括当前和所需的机器配置:

    $ oc get machineconfignodes
    Copy to Clipboard Toggle word wrap

    输出示例

    NAME                                       POOLNAME   DESIREDCONFIG                                      CURRENTCONFIG                                      UPDATED
    ci-ln-mdb23yt-72292-kzdsg-master-0         master     rendered-master-f21b093d20f68a7c06f922ed3ea5fbc8   rendered-master-1abc053eec29e6c945670f39d6dc8afa   False
    ci-ln-mdb23yt-72292-kzdsg-master-1         master     rendered-master-1abc053eec29e6c945670f39d6dc8afa   rendered-master-1abc053eec29e6c945670f39d6dc8afa   True
    ci-ln-mdb23yt-72292-kzdsg-master-2         master     rendered-master-1abc053eec29e6c945670f39d6dc8afa   rendered-master-1abc053eec29e6c945670f39d6dc8afa   True
    ci-ln-mdb23yt-72292-kzdsg-worker-a-gfqjr   worker     rendered-worker-d0130cd74e9e576d7ba78ce166272bfb   rendered-worker-8f61bf839898a4487c3b5263a430e94a   False
    ci-ln-mdb23yt-72292-kzdsg-worker-b-gknq4   worker     rendered-worker-8f61bf839898a4487c3b5263a430e94a   rendered-worker-8f61bf839898a4487c3b5263a430e94a   True
    ci-ln-mdb23yt-72292-kzdsg-worker-c-mffrx   worker     rendered-worker-8f61bf839898a4487c3b5263a430e94a   rendered-worker-8f61bf839898a4487c3b5263a430e94a   True
    Copy to Clipboard Toggle word wrap

  • 运行以下命令,查看集群中节点的所有机器配置节点状态字段:

    $ oc get machineconfignodes -o wide
    Copy to Clipboard Toggle word wrap

    输出示例

    NAME                                       POOLNAME   DESIREDCONFIG                                      CURRENTCONFIG                                      UPDATED   UPDATEPREPARED   UPDATEEXECUTED   UPDATEPOSTACTIONCOMPLETE   UPDATECOMPLETE   RESUMED   UPDATECOMPATIBLE   UPDATEDFILESANDOS   CORDONEDNODE   DRAINEDNODE   REBOOTEDNODE   RELOADEDCRIO   UNCORDONEDNODE
    ci-ln-g6dr34b-72292-g9btv-master-0         master     rendered-master-d4e122320b351cdbe1df59ddb63ddcfc   rendered-master-6f2064fcb36d2a914de5b0c660dc49ff   False     True             Unknown          False                      False            False     True               Unknown             False          False         False          False          False
    ci-ln-g6dr34b-72292-g9btv-master-1         master     rendered-master-6f2064fcb36d2a914de5b0c660dc49ff   rendered-master-6f2064fcb36d2a914de5b0c660dc49ff   True      False            False            False                      False            False     False              False               False          False         False          False          False
    ci-ln-g6dr34b-72292-g9btv-master-2         master     rendered-master-6f2064fcb36d2a914de5b0c660dc49ff   rendered-master-6f2064fcb36d2a914de5b0c660dc49ff   True      False            False            False                      False            False     False              False               False          False         False          False          False
    ci-ln-g6dr34b-72292-g9btv-worker-a-sjh5r   worker     rendered-worker-671b88c8c569fa3f60dc1a27cf9c91f2   rendered-worker-d5534cb730e5e108905fc285c2a42b6c   False     True             Unknown          False                      False            False     True               Unknown             False          False         False          False          False
    ci-ln-g6dr34b-72292-g9btv-worker-b-xthbz   worker     rendered-worker-d5534cb730e5e108905fc285c2a42b6c   rendered-worker-d5534cb730e5e108905fc285c2a42b6c   True      False            False            False                      False            False     False              False               False          False         False          False          False
    ci-ln-g6dr34b-72292-g9btv-worker-c-gnpd6   worker     rendered-worker-d5534cb730e5e108905fc285c2a42b6c   rendered-worker-d5534cb730e5e108905fc285c2a42b6c   True      False            False            False                      False            False     False              False               False          False         False          False          False
    Copy to Clipboard Toggle word wrap

  • 运行以下命令,检查特定机器配置池中节点的更新状态:

    $ oc get machineconfignodes $(oc get machineconfignodes -o json | jq -r '.items[]|select(.spec.pool.name=="<pool_name>")|.metadata.name') 
    1
    Copy to Clipboard Toggle word wrap

    输出示例

    NAME                                       POOLNAME   DESIREDCONFIG                                      CURRENTCONFIG                                      UPDATED
    ci-ln-g6dr34b-72292-g9btv-worker-a-sjh5r   worker     rendered-worker-d5534cb730e5e108905fc285c2a42b6c   rendered-worker-d5534cb730e5e108905fc285c2a42b6c   True
    ci-ln-g6dr34b-72292-g9btv-worker-b-xthbz   worker     rendered-worker-d5534cb730e5e108905fc285c2a42b6c   rendered-worker-faf6b50218a8bbce21f1370866283de5   False
    ci-ln-g6dr34b-72292-g9btv-worker-c-gnpd6   worker     rendered-worker-faf6b50218a8bbce21f1370866283de5   rendered-worker-faf6b50218a8bbce21f1370866283de5   True
    Copy to Clipboard Toggle word wrap

  • 运行以下命令,检查单个节点的更新状态:

    $ oc describe machineconfignode/<node_name>
    Copy to Clipboard Toggle word wrap

    输出示例

    Name:         <node_name>
    Namespace:
    Labels:       <none>
    Annotations:  <none>
    API Version:  machineconfiguration.openshift.io/v1alpha1
    Kind:         MachineConfigNode
    Metadata:
      Creation Timestamp:  2023-10-17T13:08:58Z
      Generation:          1
      Resource Version:    49443
      UID:                 4bd758ab-2187-413c-ac42-882e61761b1d
    Spec:
      Node Ref:
        Name:         <node_name>
      Pool:
        Name:         master
      ConfigVersion:
        Desired: rendered-worker-823ff8dc2b33bf444709ed7cd2b9855b
    Status:
    # ...
        Message:               Drained node. The drain is complete as the desired drainer matches current drainer: drain-rendered-worker-01f27f752eb84eba917450e43636b210
        Reason:                UpdateExecutedDrained
        Status:                True
        Type:                  Drained
        Last Transition Time:  2025-01-14T15:45:55Z
    # ...
      Config Version:
        Current:            rendered-master-8110974a5cea69dff5b263237b58abd8
        Desired:            rendered-worker-823ff8dc2b33bf444709ed7cd2b9855b
      Observed Generation:  6
    # ...
    Copy to Clipboard Toggle word wrap

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat