关闭工作节点后,K8s吊舱卡在终止状态

时间:2020-02-12 19:27:35

标签: kubernetes

每当我关闭一个工作节点时,在该节点上运行的Pod都会处于“终止1/1”状态。在默认的5分钟进行探针检查之后,将容器重新部署到运行状况良好的工作节点上,但是来自先前关闭节点的容器仍显示为1/1并终止。它会无限期地保持这种状态。有什么方法可以使此过程更清洁,以便每当将吊舱重新部署到新的工作节点时,旧的吊舱都将被删除而不处于终止状态?

2 个答案:

答案 0 :(得分:1)

这是预期的行为:Pod需要保持终止状态,直到节点返回,以便主节点记住告诉节点停止这些Pod并收集所有剩余的日志,事件等。这是因为节点可能不仅由于关闭而进入非就绪状态,还因为例如临时的网络碎片而进入未就绪状态,在这种情况下,链接返回后,这些Pod仍然仍然存在。

答案 1 :(得分:0)

我遇到了同样的问题,不得不对 K8S 进行更改以修复它。 更改垃圾收集处于这种状态的 pod。无论如何,即使节点在 pod 的终止 GracePeriodSeconds 结束之前返回,只要它被标记为“正在终止”,它就会被删除。当然,优雅地终止总是更好,它允许安全地释放资源。

这个要小心使用。就我而言,我正在处理节点应始终在一起的嵌入式系统,因此在这种卡住状态下终止 pod 是有意义的。特别是当其中一些 pod 附加到 ReadWriteOnce 卷时,这将阻止任何其他 pod 移交。

拉取请求在这里:https://github.com/kubernetes/kubernetes/pull/103916