【发布时间】:2021-07-09 02:14:48
【问题描述】:
我在 Kubernetes 中尝试使用 default-not-ready-toleration-seconds 来缩短 pod 在集群中的 NotReady 节点上终止的时间。但是我注意到,如果 Kubelet 关闭,CRI(Docker)当然不会自行杀死正在运行的容器。因此,当 Kubernetes 决定终止 pod 时,如果无法与 Kubelet 通信,容器仍然会运行,您最终会运行 2 个容器。
我的问题是,如果 Kubelet 没有运行设置的超时时间,是否有办法让 CRI 独立做出杀死容器的决定?
# docker ps | grep busybox
5cb58ea42982 busybox "tail -f /dev/null" 45 hours ago Up 45 hours
# systemctl stop kubelet
# kubectl get pod busybox-test-busybox-69b844bd79-wsdvp
NAME READY STATUS
busybox-test-busybox-69b844bd79-wsdvp 1/1 Terminating
### WAIT WAIT WAIT...
# docker ps | grep busybox
5cb58ea42982 busybox "tail -f /dev/null" 45 hours ago Up 45 hours
【问题讨论】:
标签: docker kubernetes kubelet