← 中文资源

简体中文版本

Kubernetes 节点卡在 NotReady 状态

通过检查 kubelet 健康、资源压力状况与网络可达性,诊断 NotReady 节点。

阅读英文原文

症状

节点显示 NotReady,其 Pod 可能被驱逐或调度到别处。节点状况与 kubelet 健康解释原因:kubelet 可能已停止、无法访问 API Server,或报告内存/磁盘压力。控制面把 NotReady 节点视为不可用,工作负载随之迁移,而故障往往始于节点上的资源问题而非集群本身。

诊断

用 kubectl describe node 查看条件;在节点上检查 kubelet 状态;检查磁盘与内存压力。

kubectl describe node <name> | grep -A10 Conditions

根因

节点上的 kubelet 停止上报健康状态,原因是它已停止、被资源压力阻塞,或无法访问控制面,节点因此被标记为 NotReady。

修复

重启或修复 kubelet;释放磁盘与内存;确保容器运行时健康;恢复节点与 API Server 的网络连通。

验证

确认节点恢复 Ready,并确认 Pod 可被调度并在其上持续运行。Ready 节点且 Pod 稳定即证明根因已解决。

常见陷阱

为避免驱逐而关闭压力驱逐会掩盖资源不足;应从根本上扩容或清理资源。