报错:Container runtime is down,PLEG is not healthy: pleg was last seen active 11m51.675590038s ago; threshold is 3m0s
问题描述
cicd的rancher环境两个节点都报这个错,导致节点上的应用都不能用了。
解决办法
根本原因是systemd的一个bug导致,在故障节点执行systemctl daemon-reexec可解决。
根本解决需要升级systemd,升级后需要重启系统。
关于PLEG
pleg是pod生命周期事件生成器"pod lifecycle event generator", 的缩写。pleg会记录Pod生命周期中的各种事件,如容器的启动、终止等,这些事件会写入缓存中,同时他检测到container异常退出时,他会通知kubelet,然后重启创建该container。(https://github.com/kubernetes/kubernetes/issues/45419#issuecomment-304413713)
pleg在每次迭代检查中会 调用docker ps来检测容器状态的变化,并调用docker Inspect来获取这些容器的详细信息。
在完成每次迭代之后,它更新一个时间戳。如果时间戳有一段时间没有更新(即3分钟),则运行状况检查失败。
如果解决了你的问题,可以点个赞哦! 有缘再会.