1.5. 检查机器配置池状态
要查看 Machine Config Operator(MCO)、其子组件及其管理的资源的状态,请使用以下 oc 命令:
流程
要查看集群中为每个机器配置池 (MCP) 中可用 MCO 管理的节点数量,请运行以下命令:
oc get machineconfigpool
$ oc get machineconfigpoolCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME CONFIG UPDATED UPDATING DEGRADED MACHINECOUNT READYMACHINECOUNT UPDATEDMACHINECOUNT DEGRADEDMACHINECOUNT AGE master rendered-master-06c9c4… True False False 3 3 3 0 4h42m worker rendered-worker-f4b64… False True False 3 2 2 0 4h42m
NAME CONFIG UPDATED UPDATING DEGRADED MACHINECOUNT READYMACHINECOUNT UPDATEDMACHINECOUNT DEGRADEDMACHINECOUNT AGE master rendered-master-06c9c4… True False False 3 3 3 0 4h42m worker rendered-worker-f4b64… False True False 3 2 2 0 4h42mCopy to Clipboard Copied! Toggle word wrap Toggle overflow 其中:
- UPDATED
-
True状态表示 MCO 已将当前机器配置应用到该 MCP 中的节点。当前机器配置在oc get mcp输出中的STATUS字段中指定。False状态表示 MCP 中的节点正在更新。 - UPDATING
-
True状态表示 MCO 正在按照MachineConfigPool自定义资源中的规定应用到该 MCP 中的至少一个节点。所需的机器配置是新编辑的机器配置。要进行更新的节点可能不适用于调度。False状态表示 MCP 中的所有节点都已更新。 - DEGRADED
-
True状态表示 MCO 被禁止将当前或所需的机器配置应用到该 MCP 中的至少一个节点,或者配置失败。降级的节点可能不适用于调度。False状态表示 MCP 中的所有节点都就绪。 - MACHINECOUNT
- 表示该 MCP 中的机器总数。
- READYMACHINECOUNT
-
指明正在运行当前机器配置并准备好调度的机器数量。这个计数始终小于或等于
UPDATEDMACHINECOUNT号。 - UPDATEDMACHINECOUNT
- 指明 MCP 中有当前机器配置的机器总数。
- DEGRADEDMACHINECOUNT
- 指明 MCP 中标记为 degraded 或 unreconcilable 的机器总数。
在前面的输出中,有三个 control plane (master) 节点和三个 worker 节点。control plane MCP 和关联的节点更新至当前机器配置。worker MCP 中的节点会更新为所需的机器配置。worker MCP 中的两个节点被更新,一个仍在更新,如
UPDATEDMACHINECOUNT为2。没有问题,如DEGRADEDMACHINECOUNT为0,DEGRADED为False。虽然 MCP 中的节点正在更新,但
CONFIG下列出的机器配置是当前的机器配置,该配置会从这个配置进行更新。更新完成后,列出的机器配置是所需的机器配置,它被更新为 MCP。注意如果节点被封锁,则该节点不包含在
READYMACHINECOUNT中,但包含在MACHINECOUNT中。另外,MCP 状态被设置为UPDATING。因为节点具有当前的机器配置,所以它被计算在UPDATEDMACHINECOUNT总计:输出示例
NAME CONFIG UPDATED UPDATING DEGRADED MACHINECOUNT READYMACHINECOUNT UPDATEDMACHINECOUNT DEGRADEDMACHINECOUNT AGE master rendered-master-06c9c4… True False False 3 3 3 0 4h42m worker rendered-worker-c1b41a… False True False 3 2 3 0 4h42m
NAME CONFIG UPDATED UPDATING DEGRADED MACHINECOUNT READYMACHINECOUNT UPDATEDMACHINECOUNT DEGRADEDMACHINECOUNT AGE master rendered-master-06c9c4… True False False 3 3 3 0 4h42m worker rendered-worker-c1b41a… False True False 3 2 3 0 4h42mCopy to Clipboard Copied! Toggle word wrap Toggle overflow 要通过检查
MachineConfigPool自定义资源来检查 MCP 中的节点状态,请运行以下命令:oc describe mcp worker
$ oc describe mcp workerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意如果节点被封锁,则节点不包含在
Ready Machine Count中。它包含在Unavailable Machine Count中:输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要查看每个现有的
MachineConfig对象,请运行以下命令:oc get machineconfigs
$ oc get machineconfigsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 请注意,列为
rendered的MachineConfig对象并不意味着要更改或删除。要查看特定机器配置的内容(本例中为
01-master-kubelet),请运行以下命令:oc describe machineconfigs 01-master-kubelet
$ oc describe machineconfigs 01-master-kubeletCopy to Clipboard Copied! Toggle word wrap Toggle overflow 命令的输出显示此
MachineConfig对象同时包含配置文件(cloud.conf和kubelet.conf) 和 systemd 服务(Kubernetes Kubelet):输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
如果应用的机器配置出现问题,您可以随时退出这一更改。例如,如果您运行 oc create -f ./myconfig.yaml 以应用机器配置,您可以运行以下命令来删除该机器配置:
oc delete -f ./myconfig.yaml
$ oc delete -f ./myconfig.yaml
如果这是唯一的问题,则受影响池中的节点应返回非降级状态。这会导致呈现的配置回滚到其之前更改的状态。
如果在集群中添加自己的机器配置,您可以使用上例中显示的命令检查其状态以及应用到它们的池的相关状态。