背景
用户应用的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
浙公网安备 33010602011771号