Pod生命周期和活力之间有何区别?

问题描述

有时我的吊舱会自动重新启动,但我还没有生气。 我读到它可能是pod的生命周期,当您不指定RestartPolicy时,认情况下为Always,当Container崩溃时,它将自动重启。 但是,我感到困惑,因为我认为活泼应该做到这一点。并且由于生命周期已经完成,我应该使用活动探针吗?而且由于这是两件事,所以两者之间有什么区别?

解决方法

如果容器中的应用程序自行崩溃,那么k8s将自动重启它。如果您有活动性探针,则活动性探针失败时,POD可能会重新启动。因此,在您的情况下,由于您没有活动性探针,这可能是由于您的应用程序崩溃了。

由于生命周期已经完成,我应该使用活动探针吗?

比方说,您的应用程序可以进入一种状态,即它不再执行请求,但不会崩溃(又称它仍在运行)。例如,如果您在某处代码中出现死锁,则可能会发生这种情况。在这种情况下,活动性探针可能会有用。该探针可以测试应用程序是否处于此死锁状态。如果是这样,则活动性探测将失败,并且POD重新启动。

由于这是两件事,所以两者之间有什么区别?

区别在于您的应用程序是否可以进入有效关闭状态(无法正确执行请求),而技术上仍保持运行状态(容器中的PID仍在运行)。如果您的应用程序可以进入这种状态,那么我想说一个活跃度调查是个好主意。如果您不知道此问题的答案,这可能也是一个好主意。如果使用活动探针无法造成任何伤害,那么这可能是个好主意。如果没有问题,您只想避免重新启动完美的POD。

,

请参阅this文档,其中解释了答案。