k8s集群node节点状态为Not Ready

目录

[一、Node节点Not Ready状态的可能原因](#一、Node节点Not Ready状态的可能原因)

[二、排查node节点状态为Not Ready的原因](#二、排查node节点状态为Not Ready的原因)


一、Node节点Not Ready状态的可能原因

node节点状态为Not Ready可能的原因有:

1.网络插件出问题

有过安装经验的小伙伴应该很熟悉未安装网络插件的情况下node节点在集群中的状态为not ready

2.kubelet进程的问题

了解一下kubelet作用:

容器生命周期管理

资源管理与调度

容器网络配置

存储卷管理

与Master节点的通信

健康检查和事件生成

kubelet是在每个节点上运行的代理,它负责与kubernetes API服务器通信并注册节点。如果kubelet在节点上崩溃或停止,将无法与API Server通信并处于状态Not Ready。

  1. 资源稀缺

如果磁盘空间、内存等资源不足,会导致节点进入NotReady状态。

4.kube-proxy出问题

kube-proxy是运行在每个节点上并维护网络规则的网络代理。这些规则允许从集群内部或外部与您的pod进行网络通信,如果kube-proxy崩溃或停止,节点将处于状态Not Ready。

5.kubelet证书过期

二、排查node节点状态为Not Ready的原因

1.网络插件

查看容器状态:

kubectl get pod -A -o wide

查看网络路由:

ip route

查看网络配置:

ip addr/ifconfig

一方面确定网络插件在启动状态,多网络插件的情况下也没有出现网络配置错乱的情况,另一方面确保网络的路由情况没有出错。

2.kubelet进程

查看kubelet状态

systemctl status kubelet

如果kubelet状态不是running,而是activating(auto-restart)

查看kubelet的运行日志:

journalctl -u kubelet --since today | less

通过安装情况+报错日志推测出来应该是kubelet证书过期的结果,事实证明也的确是如此的原因。

  1. 资源稀缺

查看节点的资源情况

df -h

du -sh 路径

一般来说节点上的容器状态出现Evicted或ContainerStatusUnknown,可以优先考虑是磁盘资源不足的情况。若需清理磁盘空间,可参考k8s运维---系统磁盘资源占用率过高-CSDN博客

4.kube-proxy

查看kube-proxy pod的状态

kubectl get pod -n kube-system -o wide

若有问题:

kubectl describe pod podname -n kube-system

5.kubelet证书过期

众所周知,正常情况下k8s的证书为一年一换,不经意间可能会遇到证书过期的情况,所以要仔细查看日志内容中的关键内容,关于证书替换可以参看K8S证书过期解决办法之替换证书_kubelet证书过期了怎么处理-CSDN博客

本次的总结就到这里啦~~希望后续还有机会能继续学习

相关推荐
zh731429 分钟前
docker日志监控dozzle,高性能,性能消耗小
运维·docker·容器
weixin_4713830340 分钟前
Docker - 05 - Railway 部署
运维·docker·容器
江畔柳前堤1 小时前
第15章:docker故障排查与面试题
大数据·运维·git·elasticsearch·docker·容器·eureka
江畔柳前堤1 小时前
第07章:Docker 网络模型
运维·网络·git·elasticsearch·docker·容器·架构
江畔柳前堤2 小时前
第17章:Docker 大厂面试题精选(腾讯/阿里/字节/美团)
运维·网络·spring cloud·docker·容器·eureka
阿里云云原生2 天前
研发视角的新突破:当 AI Coding 工具集成全域运维诊断,排查线上故障只需 3 分钟
云原生
小猿姐3 天前
唯品会大规模数据库云原生实践:基于 KubeBlocks 管理数千实例的统一运维之路
运维·elasticsearch·云原生
阿里云云原生3 天前
AgentTeams 和 Claude Tag 都进入群聊模式,是新范式还是新叙事?
云原生·agent
阿里云云原生4 天前
Higress v2.2.3 发布:正式入驻 CNCF Sandbox,AI Gateway 与 Ingress 迁移能力双向加固
云原生
lichenyang4534 天前
Docker 学习笔记(四):Dockerfile,把项目打成自己的镜像
docker·容器