7.5.4. 查询 Operator pod 状态
您可以列出集群中的 Operator pod 及其状态。您还可以收集详细的 Operator pod 概述。
先决条件
-
您可以使用具有
cluster-admin
角色的用户访问集群。 - API 服务仍然可以正常工作。
-
已安装 OpenShift CLI(
oc
)。
流程
列出集群中运行的 Operator。输出包括 Operator 版本、可用性和运行时间信息:
$ oc get clusteroperators
列出在 Operator 命名空间中运行的 Operator pod,以及 pod 状态、重启和年龄:
$ oc get pod -n <operator_namespace>
输出详细的 Operator pod 概述:
$ oc describe pod <operator_pod_name> -n <operator_namespace>
如果 Operator 问题特定于某个节点,则在该节点上查询 Operator 容器状态。
为节点启动 debug pod:
$ oc debug node/my-node
将
/host
设为 debug shell 中的根目录。debug pod 在 pod 中的/host
中挂载主机的 root 文件系统。将根目录改为/host
,您可以运行主机可执行路径中包含的二进制文件:# chroot /host
注意运行 Red Hat Enterprise Linux CoreOS(RHCOS)的 OpenShift Container Platform 4.6 集群节点不可变,它依赖于 Operator 来应用集群更改。不建议使用 SSH 访问集群节点,节点将会标记为 accessed 污点。但是,如果 OpenShift Container Platform API 不可用,或 kubelet 在目标节点上无法正常工作,
oc
操作将会受到影响。在这种情况下,可以使用ssh core@<node>.<cluster_name>.<base_domain>
来访问节点。列出节点容器的详细信息,包括状态和关联的 pod ID:
# crictl ps
列出节点上特定 Operator 容器的信息。以下示例列出了
network-operator
容器的信息:# crictl ps --name network-operator
- 退出 debug shell。