1.Kubernetes 集群频繁出现节点 NotReady
1.1 问题
Kubernetes 集群中的节点频繁出现 NotReady
状态,即使自动恢复后不久又再次变为 NotReady
影响范围:
- 直接影响:节点上运行的 Pod 可能被驱逐,导致服务中断、数据丢失或处理延迟。
- 间接影响:频繁的节点状态变化可能导致调度压力增大、资源利用率降低,影响集群整体稳定性和性能
1.2 排查方案
- 监控节点资源使用:使用
kubectl top nodes
和第三方监控工具(如 Prometheus + Grafana)持续监控节点的 CPU、内存、磁盘、网络等资源使用情况,查找是否有资源耗尽的迹象。 - 检查节点日志与系统状态:登录到问题节点,检查系统日志(如
/var/log/messages
、/var/log/syslog
等)、Docker(或 Containerd)日志、kubelet 日志,查找与节点状态变化相关的错误或警告。 - 排查硬件故障或网络问题:检查节点的硬件状态(如 CPU、内存、磁盘健康状况),以及网络设备(如网卡、交换机)的状态和日志,看是否存在硬件故障或网络问题。
- 检查节点配置与污点:使用
kubectl describe node <node-name>
查看节点详细信息,确认节点配置(如标签、Taints)是否合理,是否被正确调度。 - 排查系统级软件问题:检查节点的操作系统、内核、kubelet、Docker(或 Containerd)、CNI 插件等软件版本和配置,确认无已知问题或冲突。必要时,升级到稳定版本或重新安装