$ oc get nodes
查看集群节点健康状态、资源消耗统计信息和节点日志。此外,还可以查询各个节点上的kubelet
状态。
您可以作为具有cluster-admin
角色的用户访问集群。
您已安装 OpenShift CLI (oc
)。
列出集群中所有节点的名称、状态和角色
$ oc get nodes
汇总集群中每个节点的 CPU 和内存使用情况
$ oc adm top nodes
汇总特定节点的 CPU 和内存使用情况
$ oc adm top node my-node
您可以查看集群节点健康状态、资源消耗统计信息和节点日志。此外,您还可以查询各个节点上的kubelet
状态。
您可以作为具有cluster-admin
角色的用户访问集群。
您的 API 服务仍在运行。
您已安装 OpenShift CLI (oc
)。
kubelet 使用每个节点上的 systemd 服务进行管理。通过在调试 Pod 中查询kubelet
systemd 服务来查看 kubelet 的状态。
启动节点的调试 Pod
$ oc debug node/my-node
如果您在控制平面节点上运行 |
将/host
设置为调试 shell 中的根目录。调试 Pod 在 Pod 中的/host
中挂载主机的根文件系统。通过将根目录更改为/host
,您可以运行主机可执行路径中包含的二进制文件。
# chroot /host
运行 Red Hat Enterprise Linux CoreOS (RHCOS) 的 OpenShift Container Platform 4.17 集群节点是不可变的,并依赖于 Operators 来应用集群更改。不建议使用 SSH 访问集群节点。但是,如果 OpenShift Container Platform API 不可用,或者目标节点上的 |
检查节点上kubelet
systemd 服务是否处于活动状态
# systemctl is-active kubelet
输出更详细的kubelet.service
状态摘要
# systemctl status kubelet
您可以收集各个集群节点上的journald
单元日志和其他/var/log
中的日志。
您可以作为具有cluster-admin
角色的用户访问集群。
您已安装 OpenShift CLI (oc
)。
您的 API 服务仍在运行。
您可以通过 SSH 访问主机。
从 OpenShift Container Platform 集群节点查询kubelet
journald
单元日志。以下示例仅查询控制平面节点
$ oc adm node-logs --role=master -u kubelet (1)
1 | 根据需要替换kubelet 以查询其他单元日志。 |
收集集群节点上/var/log/
下特定子目录中的日志。
检索/var/log/
子目录中包含的日志列表。以下示例列出了所有控制平面节点上/var/log/openshift-apiserver/
中的文件
$ oc adm node-logs --role=master --path=openshift-apiserver
检查/var/log/
子目录中的特定日志。以下示例输出所有控制平面节点上的/var/log/openshift-apiserver/audit.log
内容
$ oc adm node-logs --role=master --path=openshift-apiserver/audit.log
如果 API 无法运行,请改用 SSH 查看每个节点上的日志。以下示例尾随/var/log/openshift-apiserver/audit.log
$ ssh core@<master-node>.<cluster_name>.<base_domain> sudo tail -f /var/log/openshift-apiserver/audit.log
运行 Red Hat Enterprise Linux CoreOS (RHCOS) 的 OpenShift Container Platform 4.17 集群节点是不可变的,并依赖于 Operators 来应用集群更改。不建议使用 SSH 访问集群节点。在尝试通过 SSH 收集诊断数据之前,请先查看运行 |