1.6. 检查机器配置节点状态
在更新过程中,您可能希望监控单个节点的进度,以防出现问题,您需要对节点进行故障排除。
要查看集群的 Machine Config Operator (MCO) 更新的状态,请使用以下 oc
命令:
改进了 MCO 状态报告只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
先决条件
-
您可以在
FeatureGate
自定义资源 (CR) 中设置featureSet: TechPreviewNoUpgrade
来为集群启用功能集功能。
流程
运行以下命令,获取所有机器配置池中所有节点的更新状态概述:
$ 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
,RELOADEDCRIO
和UNCORDONED
列。这些辅助阶段并不总是发生,并依赖于您要应用的更新类型。
运行以下命令,检查特定机器配置池中节点的更新状态:
$ 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
运行以下命令,检查单个节点的更新状态:
$ 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
其他资源
- 有关功能门的更多信息,请参阅使用 Web 控制台启用功能集。