将通过Kubernetes发送SIGTERM重启pod

时间:2017-09-25 17:53:11

标签: kubernetes sigterm

我希望通过完全控制应该关闭的pod来减少我的pod数量。现在我减少了pod的数量,而Kubernetes发送了一个SIGTERM,在30 Secounds之后,pod将被删除。

我想知道当我在我的pod中收听SIGTERM并退出时:

Range("A3:A10,C3:C10,Y3:Y10").NumberFormat = "ddMMMyyyy"

Kubernetes将做什么:

  • 由于sigterm
  • ,重启pod并在30秒后将其杀死
  • 忽略sigterm,因为pod已自行关闭
  • 抛出错误,因为它尝试删除已删除的广告单元

2 个答案:

答案 0 :(得分:0)

直接回答你的问题:第二件事情会发生,容器已关闭,所以Kubernetes很高兴。

但是,看起来你的容器没有表现得如此。收到SIGTERM后,容器应立即关闭。 30秒后,它将被Kubernetes杀死,但这只是阻止行为不端容器的最后手段。

请查看此documentation from Docker,了解如何正确编写Dockerfile,以便正确关闭容器。有关详细信息,另请参阅this article

答案 1 :(得分:0)

服务停止后,Kubernetes会立即删除该Pod,因为您的Pod中的服务已正常退出并按预期退出。

捕获SIGTERM并关闭服务是推荐的方法。

您可以将清理内容添加到if SIGTERM sendexit(0)之间的代码中。

if SIGTERM send
  cleanup()
  exit(0)