问题:
一环境主机重启后,查看kubelet日志经常有大量无法回收镜像文件报错,会导致kubelet的pleg不健康,从而导致kubelet发生重启。报错如下:
解决办法
解决方法一:
systemctl stop docker
systemctl stop kubelet
systemctl start docker
systemctl start kubelet
解决方法二:
在kubelet的kubelet.service文件中,添加如下参数:
[Unit]
After=docker.service
原因总结: 主机重启后,kubelet比docker先启动,会对不健康的pod进行一个资源回收的过程,这个时候docker还没正常启动,kubelet无法调用docker的socket接口对镜像回收,会导致每五分钟一次的循环检查,默认到100次就会触发gc,会导致kubelet的pleg不健康,这个启动顺序还是很重要的。