首页/云/Kubernetes 速查/节点 NotReady 排查路径
集群运维与排障54 条

节点 NotReady 排查路径

NotReady 是结果不是原因:按「节点条件 → kubelet 状态 → 日志 → 网络/时钟/磁盘」逐层定位。

Kubernetes 速查云更新于 2026-10-13

排查定位

NotReady 是结论不是原因:它只说明 kubelet 的心跳或节点条件上报出问题了。适用平台是 Kubernetes。节点侧要看的层次依次是节点 Conditions(Ready、MemoryPressure、DiskPressure、PIDPressure)、kubelet 服务状态、kubelet 日志里的具体报错、以及底层依赖(容器运行时、网络、时钟、磁盘)。按这个顺序走,绝大多数 NotReady 都能在两三条命令内定位到方向。

基本信息

适用平台Kubernetes 节点(kubelet 与容器运行时)
判定依据kubelet 定期上报 NodeStatus,超过阈值未上报则标记 NotReady
常见伴随状态MemoryPressure、DiskPressure、PIDPressure、NetworkUnavailable
影响该节点上的 Pod 会被标记异常,受控制器管理的副本会在其他节点重建

典型使用场景

  • 巡检发现节点掉线:先看 Conditions 定位是心跳问题还是资源压力问题
  • 节点重启后起不来:核对 kubelet 与运行时服务是否随系统启动
  • 证书到期引发集群告警:kubelet 客户端证书过期会直接导致 NotReady
  • 磁盘写满导致不可调度:DiskPressure 会触发镜像与日志驱逐,需清理并核查阈值
  • 维护窗口前确认节点健康,避免带病进入维护流程

排查命令(节点上执行)

排查命令(节点上执行)
kubectl describe node node1 | sed -n '/Conditions:/,/Addresses:/p'   # 节点条件与原因
systemctl status kubelet --no-pager                                  # kubelet 服务状态
journalctl -u kubelet -n 200 --no-pager | grep -i -E 'error|fail|timeout'
ss -lntp | grep -E '10250|10248'                                     # kubelet 端口是否在听
systemctl status containerd --no-pager                                # 容器运行时状态
df -h /var/lib/kubelet /var/log                                       # 磁盘水位
date                                                                  # 时钟是否漂移

常见线索

常见线索
connection refused to apiserver:网络策略/防火墙/控制面异常
certificate has expired:节点时钟或证书轮换问题
failed to run Kubelet / cgroup 报错:运行时或 cgroup 驱动不一致

Condition 读法

条件含义处置方向
Ready=Falsekubelet 心跳异常或关键依赖不可用看 kubelet 日志与运行时状态
MemoryPressure=True节点内存吃紧查高占用 Pod 与驱逐阈值
DiskPressure=True可用磁盘低于阈值清镜像、日志与临时文件
PIDPressure=True进程数接近上限排查进程泄漏与 limit 配置
重启 kubelet 前先看日志:反复重启会刷掉现场,先 journalctl 取证,把关键报错记下来再动手。
NotReady 期间该节点的 Pod 可能已被其他节点接管,节点恢复后要及时核对是否出现双实例写入共享存储的情况。

易错点

  • 重启 kubelet 前先看日志:反复重启会刷掉现场,先 journalctl 取证再决定动作
  • 恢复后核对误判窗口:NotReady 期间 Pod 可能已被其他节点接管,避免双实例争抢同一份数据
  • 只查 kubelet 不看容器运行时:containerd 或 CRI-O 挂掉时 kubelet 会反复报错,节点同样 NotReady
  • 忽略时钟与证书:节点时间漂移会导致证书校验失败,表现为「网络不通」,先核对 date 再做其他判断

数据来源与参考

  • Kubernetes 官方文档 · 节点故障排查
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌