Skip to content

1.Kubernetes 集群频繁出现节点 NotReady

1.1 问题

Kubernetes 集群中的节点频繁出现 NotReady 状态,即使自动恢复后不久又再次变为 NotReady

影响范围:

  • 直接影响:节点上运行的 Pod 可能被驱逐,导致服务中断、数据丢失或处理延迟。
  • 间接影响:频繁的节点状态变化可能导致调度压力增大、资源利用率降低,影响集群整体稳定性和性能

1.2 排查方案

  1. 监控节点资源使用:使用 kubectl top nodes 和第三方监控工具(如 Prometheus + Grafana)持续监控节点的 CPU、内存、磁盘、网络等资源使用情况,查找是否有资源耗尽的迹象。
  2. 检查节点日志与系统状态:登录到问题节点,检查系统日志(如 /var/log/messages/var/log/syslog 等)、Docker(或 Containerd)日志、kubelet 日志,查找与节点状态变化相关的错误或警告。
  3. 排查硬件故障或网络问题:检查节点的硬件状态(如 CPU、内存、磁盘健康状况),以及网络设备(如网卡、交换机)的状态和日志,看是否存在硬件故障或网络问题。
  4. 检查节点配置与污点:使用 kubectl describe node <node-name> 查看节点详细信息,确认节点配置(如标签、Taints)是否合理,是否被正确调度。
  5. 排查系统级软件问题:检查节点的操作系统、内核、kubelet、Docker(或 Containerd)、CNI 插件等软件版本和配置,确认无已知问题或冲突。必要时,升级到稳定版本或重新安装