搜索

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

download PDF

在更新过程中,您可能希望监控单个节点的进度,以防出现问题,您需要对节点进行故障排除。

要查看集群的 Machine Config Operator (MCO) 更新的状态,请使用以下 oc 命令:

重要

改进了 MCO 状态报告只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。

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

先决条件

  • 您可以在 FeatureGate 自定义资源 (CR) 中设置 featureSet: TechPreviewNoUpgrade 来为集群启用功能集功能。

流程

  1. 运行以下命令,获取所有机器配置池中所有节点的更新状态概述:

    $ oc get machineconfignodes

    输出示例

    NAME                          UPDATED   UPDATEPREPARED   UPDATEEXECUTED   UPDATEPOSTACTIONCOMPLETED   UPDATECOMPLETED   RESUMED
    ip-10-0-12-194.ec2.internal   True      False             False              False                    False              False
    ip-10-0-17-102.ec2.internal   False     True              False              False                    False              False
    ip-10-0-2-232.ec2.internal    False     False             True               False                    False              False
    ip-10-0-59-251.ec2.internal   False     False             False              True                     False              False
    ip-10-0-59-56.ec2.internal    False     False             False              False                    True               True
    ip-10-0-6-214.ec2.internal    False     False             Unknown            False                    False              False

    其中:

    UPDATED
    True 状态表示 MCO 已将当前机器配置应用到该特定节点。False 状态表示节点当前正在更新。Unknown 状态表示操作正在处理。
    UPDATEPREPARED
    False 状态表示 MCO 尚未开始协调要分发的新机器配置。True 状态表示 MCO 已完成更新这个阶段。Unknown 状态表示操作正在处理。
    UPDATEEXECUTED
    False 状态表示 MCO 尚未启动封锁和排空节点。它还表示磁盘状态和操作系统尚未启动更新。True 状态表示 MCO 已完成更新这个阶段。Unknown 状态表示操作正在处理。
    UPDATEPOSTACTIONCOMPLETED
    False 状态表示 MCO 尚未启动重新引导节点或关闭守护进程。True 状态表示 MCO 已完成重新引导并更新节点状态。Unknown 状态表示在这个阶段更新过程中发生了错误,或者 MCO 当前正在应用更新。
    UPDATECOMPLETED
    False 状态表示 MCO 尚未启动节点并更新节点状态和指标。True 状态表示 MCO 完成更新节点状态和可用指标。
    RESUMED

    False 状态表示 MCO 尚未启动配置偏移监控器。True 状态表示节点有恢复的操作。Unknown 状态表示操作正在处理。

    注意

    在前面描述的主要阶段中,您可以有二级阶段,可用于查看更新进度。您可以使用上一命令的 -o wide 选项获取包含更新的辅助阶段的更多信息。这提供了额外的 UPDATECOMPATIBLE,UPDATEFILESANDOS,DRAINEDNODE,CORDONEDNODE,REBOOTNODE,RELOADEDCRIOUNCORDONED 列。这些辅助阶段并不总是发生,并依赖于您要应用的更新类型。

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

    $ oc get machineconfignodes $(oc get machineconfignodes -o json | jq -r '.items[]|select(.spec.pool.name=="<pool_name>")|.metadata.name') 1
    1
    池的名称是 MachineConfigPool 对象名称。

    输出示例

    NAME                          UPDATED   UPDATEPREPARED   UPDATEEXECUTED   UPDATEPOSTACTIONCOMPLETE   UPDATECOMPLETE   RESUMED
    ip-10-0-48-226.ec2.internal   True      False            False            False                      False            False
    ip-10-0-5-241.ec2.internal    True      False            False            False                      False            False
    ip-10-0-74-108.ec2.internal   True      False            False            False                      False            False

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

    $ oc describe machineconfignode/<node_name> 1
    1
    节点的名称是 MachineConfigNode 对象名称。

    输出示例

    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 1
    Status:
      Conditions:
        Last Transition Time:  2023-10-17T13:09:02Z
        Message:               Node has completed update to config rendered-master-cf99e619747ab19165f11e3546c71f1e
        Reason:                NodeUpgradeComplete
        Status:                True
        Type:                  Updated
        Last Transition Time:  2023-10-17T13:09:02Z
        Message:               This node has not yet entered the UpdatePreparing phase
        Reason:                NotYetOccured
        Status:                False
      Config Version:
        Current:            rendered-worker-823ff8dc2b33bf444709ed7cd2b9855b
        Desired:            rendered-worker-823ff8dc2b33bf444709ed7cd2b9855b 2
      Health:               Healthy
      Most Recent Error:
      Observed Generation:  3

    1
    在节点上检测到新配置时,spec.configversion.desired 字段指定所需的配置会立即更新。
    2
    只有在 Machine Config Daemon (MCD)验证新配置时,status.configversion.desired 字段中指定的配置才会更新。MCD 通过检查更新的当前阶段来执行验证。如果更新成功通过 UPDATEPREPARED 阶段,则状态会添加新配置。

其他资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.