问题描述
Kubernetes集群使用CentOS 7.6版本的系统时,kubelet日志中可能存在以下告警信息。
Reason:KubeletNotReady Message:PLEG is not healthy:
问题原因
CentOS 7.6系统使用的systemd-219-62.el7_6.6.x86_64软件包存在缺陷,引发异常错误。如果您想了解更多信息,请参见[Node flapping between Ready/NotReady with PLEG issues。] https://github.com/kubernetes/kubernetes/issues/45419?spm=a2c4g.11186623.2.6.5f5b2aa8locvUh
解决方案
请通过快照等方式备份您的数据,然后在Kubernetes集群的各节点上执行以下命令,更新systemd程序包至最新版本并重新运行systemd程序。
yum update -y systemd && systemctl daemon-reexec
这是systemd的一个bug导致,可以重启实例恢复,彻底解决需要升级下systemd的版本
if [[ rpm -qa systemd| grep systemd-219
< "systemd-219-67" ]]; then yum update -y systemd; fi&& systemctl daemon-reexec && killall runc