如何解决 Kubernetes 中节点 NotReady 问题

雨敏酱_1665

雨敏酱_1665

2026-07-17

896人浏览

原创

节点notready本质是kubelet无法向控制平面正常上报健康状态,需按api层→kubelet→容器运行时→cni→系统资源逐层排查;先查kubectl describe node的conditions(如kubeletnotready)和events,再验kubelet服务、日志、证书、containerd、cni配置及磁盘/内存/inode等资源。

如何解决 kubernetes 中节点 notready 问题

节点 NotReady 本质是 kubelet 无法向控制平面正常上报健康状态,不是单一故障,而是结果。核心思路是:先确认现象层级,再逐层向下排查——从 API 层反馈,到 kubelet 运行态,再到容器运行时、系统资源与内核支撑。

看 node describe 的 Conditions 和 Events

这是最快定位方向的入口:

  • Conditions 中 Ready=False 的 Reason 字段直接给出线索,比如 KubeletNotReady(kubelet 异常)、NetworkPluginNotReady(CNI 未就绪)、ContainerRuntimeNotReady(containerd 或 dockerd 不可用)
  • Events 区域最后几条记录常含关键提示,如 “NodeConditionChanged”、“Failed to update node status”、“failed to get node info” 等
  • 注意 Taints 是否含 node.kubernetes.io/not-ready:NoExecute,这是自动打上的保护标记,不是原因而是结果

查 kubelet 服务与日志

kubelet 是节点健康的核心代理,90% 的 NotReady 源于它:

Kubernetes Network Policy Generator
Kubernetes Network Policy Generator

使用加权评分卡在12项标准上评估和比较隐私解决方案供应商。适用于选择隐私管理软件、比较数据保护方案等场景。

下载
  • 执行 systemctl status kubelet 确认是否 active(running),若为 activating 或 failed,说明进程未正常启动
  • 用 journalctl -u kubelet --no-pager -n 100 查最近日志,重点搜索:
    • x509: certificate has expired → 执行 kubeadm certs renew 并重启 kubelet
    • use of closed network connection → 多见于 v1.18–v1.22,临时可重启 kubelet,长期建议升级到 v1.23+
  • 检查 kubelet 进程是否卡住:ps aux | grep kubelet,再看其打开文件数上限:cat /proc/$(pidof kubelet)/limits | grep "Max open files",若接近硬限制(如 1048576),可能因 PLEG 轮询超载导致失联

验容器运行时与网络插件

kubelet 依赖底层运行时和 CNI 正常工作:

  • 确认运行时服务状态:systemctl status containerd(或 docker),并查其日志:journalctl -u containerd --no-pager -n 50
  • 用 crictl ps -a 验证能否与运行时通信;若报错 “connection refused”,说明 socket 文件路径不对或服务未监听
  • CNI 插件未就绪常见于新节点加入或网络配置变更后:
    • 检查 /etc/cni/net.d/ 下是否有有效配置文件(非空、格式正确)
    • 查看 kubelet 日志中是否出现 cni plugin not initialized 或 failed to load plugins

扫系统资源与内核状态

资源耗尽或内核异常会静默拖垮 kubelet:

  • 磁盘空间:df -h 关注 /、/var、/var/lib/containerd,特别是 /var/log/journal 可能被日志撑满
  • 内存与负载:free -h + uptime,若 Load Average > CPU 核数 × 3,且 top 显示大量 D 状态进程,可能是 I/O 卡死或内核 hang
  • 文件描述符与 inodes:lsof | wc -l 和 df -i,inode 耗尽会导致新建文件失败,影响镜像拉取与 Pod 启动
  • 检查内核日志:dmesg -T | tail -30,留意 OOM killer 杀掉 kubelet、ext4 错误、硬件故障等硬性报错

不复杂但容易忽略

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

kubernetes

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

457

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

920

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

2972

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

996

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

889

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

454

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2696

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

5032

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

787

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Kubernetes官方教程手册
Kubernetes官方教程手册

共0课时 | 0人学习

Kubernetes官方中文文档
Kubernetes官方中文文档

共0课时 | 0人学习