背景

用户应用的pod正常,应用容器正常,均未发生重启,但init container一直重启

根因

查看kubelet, docker日志,/var/log/messages,以及dmesg均未发现明显的与init container重启相关内容,
使用docker ps -a命令持续观察其中一个应用pod的容器,发现正常退出的init containers不断被删除然后重新创建

kubelet会监控pod的init containers,如果在pod正常运行阶段,正常退出的init containers被GC或者手动删除,kubelet会重启init containers

查看节点上是否有定时任务清理容器,发现有一个近期设置的crontab每分钟执行一次清理掉了所有停止的容器

查看该定时任务添加时间与init container开始重启时间一致,尝试停止crontab后问题解决

参考

(1)init containers:https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
(2)Debug Init Containers:https://kubernetes.io/docs/tasks/debug/debug-application/debug-init-containers/
(3)Docker垃圾回收机制:https://cloud.tencent.com/developer/article/1665413
(4)kubelet restarts Init Сontainers when App Containers are running:https://github.com/kubernetes/kubernetes/issues/90271

 posted on 2022-10-19 10:06  shelterCJJ  阅读(54)  评论(0)    收藏  举报