问题:node网络正常,但经常出现NotReady。
分析:这种情况一般是kubelet PLEG模块检查超时。
如图,PLEG会向container runtime获取container状态。而container runtime通过runc来管理容器。
有篇文章讲过runc dbus与systemd通信的问题:k8s|一次故障排查
runc会经常调用UseSystemd函数用于测试,通过dbus与systemd频繁通信。
systemd使用一个变量dbus->cookie来追踪消息,每次加封消息会把dbus->cookie值加一。频繁通信导致这个值超过了0xffffffff,输出Operation not supported报错。
这个bug在systemd-219之前都会出现。CentOS 7.6系统使用的systemd-219-62.el7_6.6.x86_64软件包存在缺陷,引发异常错误。解决方法为升级systemd版本:
yum update -y systemd && systemctl daemon-reexec