Kubernetes Pod的错误状态卡住终止

我有一个由Stateful Set创build的Kubernetes Pod(不确定是否重要)。 这个吊舱里有两个容器。 当两个容器中的一个出现故障并使用get pods命令时,1/2容器处于就绪状态,状态为“错误”。 第二个容器不会尝试重新启动,除非使用--grace-period=0 --force标志,否则无法销毁该容器。 典型的删除使得吊舱永远或者很长一段时间都处于“终止”状态。 什么可能导致这种行为,以及如何去debugging呢?

我在我的k8s 1.6群集esp节点上遇到类似的问题。 当节点运行了几个星期。 它可能发生在任何节点上。 发生这种情况时,我重新启动节点上的kubelet,错误消失。

这不是最好的事情,但它总是解决问题。 如果您重新启动kubelet,那么对群集也没有任何不利影响,因为正在运行的pod继续保持运行状态。

kubectl get po -o wide可能会告诉你,错误的豆荚运行在一个节点上。 SSH到该节点并重新启动kubelet。