Pod的销毁触发时机是什么?liveness probe失败时Kubelet会销毁整个Pod吗
问题描述
Pod的生命周期由数据面的Kubelet进行管理。
根据定义:若liveness probe失败,kubelet会杀死对应容器。
Pod是带有专属network namespace、IPC namespace以及sandbox container的容器载体。
假设Pod为仅包含单个业务容器的Pod,那么当liveness probe失败时:
- Kubelet会杀死整个Pod吗?
- 还是Kubelet仅杀死Pod内部的对应容器?
结论
Kubelet仅杀死Pod内部对应的故障容器,不会直接销毁整个Pod。
核心逻辑说明
- liveness probe(存活探测)的设计目标就是检测单个容器的运行健康状态,按照Kubernetes原生逻辑,探测失败后kubelet只会对故障容器执行杀死、重建操作,Pod本身会保留运行。
- 单容器Pod场景下,容器被重启的过程中,Pod专属的网络命名空间、IPC命名空间、Pod IP这类资源都会保持不变,Pod的STATUS会持续为
Running,只有RESTARTS计数会对应加1。
特殊场景补充
如果你的Pod配置的restartPolicy为Never:
- liveness probe失败后容器被杀死不会被重建,此时单容器Pod会因为没有可用的运行业务容器进入
Failed终态,但这也不是kubelet主动删除Pod,Pod对象本身依然会存在于集群中,直到被手动删除或者被上层控制器、节点驱逐逻辑回收。
内容的提问来源于stack exchange,提问作者overexchange
相关产品推荐
相关产品推荐

