Kubernetes集群Node间歇性NotReady,查到最后竟然是这个原因

排查Kubernetes集群中Node间歇性NotReady问题,发现由于节点上的容器疯狂写入日志,导致磁盘IO过高,从而影响kubelet更新状态,最终解决方法是限制日志输出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

原文地址:https://mp.weixin.qq.com/s/aNt1uI1RWf73Y3Dd6gmnLg

image

被这个问题困扰一段时间了,先后进行了各种假设,然后又一一推翻,最后找到的原因让人很意外。

这里简单记录一下问题的排查过程,然后直接抛答案,如果想了解详细的调查过程、调查过程中的所思所想和走过的弯路,点击「阅读原文」。

出现问题的集群规模不大,总共 200 多个 Node,最早是从 Kubernetes 的事件中发现这个问题的,同事反馈时不时地监听到 NodeNotReady 事件,但是登陆集群查看时 Node 的状态都是 Ready。

一开始忙其它的事情没太在意,后来这种「幽灵式」的 NodeNotReady 越来越频繁,并且持续的时间越来越长,不但触发了报警系统,而且 Node 上的 Pod 也被漂移了,开始着手调查。

线索非常少,检查 kube-controller-manager 的日志,只看到一条 NodeNotReady 的事件日志,在 kubelet 的日志里也翻不到有价值的信息。调整日志级别后,只从 kube-controller-manager 的日志里得知一个事实:

Node 的状态长时间没有得到更新,超过 gracePeriod,被认定为 NotReady。

关键是为什么会延迟?开始胡思乱想,是不是网络不好,会不会 etcd 状态不对,要么是

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值