CCE 节点 NotReady 排查实战:从节点状态到组件健康的五步流程

举报
yd_229207802 发表于 2026/11/13 13:30:54 2026/11/13
【摘要】 背景CCE 集群中某个节点突然变为 NotReady,节点上的 Pod 无法调度,业务受影响。本文记录一次真实的排查过程,从节点状态入手,五步定位到 kubelet 证书过期问题。 一、确认节点状态与事件kubectl get nodeskubectl describe node <node-name>查看节点的 Conditions,重点关注 Ready、MemoryPressure、D...

背景

CCE 集群中某个节点突然变为 NotReady,节点上的 Pod 无法调度,业务受影响。本文记录一次真实的排查过程,从节点状态入手,五步定位到 kubelet 证书过期问题。

一、确认节点状态与事件

kubectl get nodes
kubectl describe node <node-name>

查看节点的 Conditions,重点关注 Ready、MemoryPressure、DiskPressure、PIDPressure。kubectl describe 的 Events 会给出节点异常的直接线索。

二、检查 kubelet 服务状态

systemctl status kubelet
journalctl -u kubelet -n 100 --no-pager

kubelet 是节点上最关键的组件。服务未运行或频繁重启,节点必然 NotReady。日志里重点关注证书、PLEG、镜像拉取三类错误。

三、核对节点证书有效期

openssl x509 -in /etc/kubernetes/kubelet.crt -noout -dates
ls -l /etc/kubernetes/pki/

kubelet 与 apiserver 通信依赖证书。证书过期是最常见的 NotReady 原因之一,表现为 kubelet 日志里大量 certificate has expired 报错。确认过期后按集群文档轮换证书并重启 kubelet。

四、排查磁盘与内存压力

df -h
free -g
kubectl top node <node-name>

磁盘满或内存耗尽会触发 kubelet 的驱逐逻辑,节点被标记为 DiskPressure 或 MemoryPressure。清理无用的镜像与日志,释放空间后节点通常自动恢复。

五、验证节点恢复并观察

kubectl get nodes -w
kubectl get pods -o wide --field-selector spec.nodeName=<node-name>

节点恢复 Ready 后,确认 Pod 重新调度正常,并持续观察十分钟,确认状态不再反复。

小结

节点 NotReady 的排查顺序是:节点状态与事件、kubelet 服务、证书有效期、磁盘与内存压力、恢复验证。多数情况下问题出在 kubelet 或证书上,按这个顺序走,五步内基本能定位。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。