一个吊舱将重新启动发送SIGTERM由Kubernetes

一个吊舱将重新启动发送SIGTERM由Kubernetes

问题描述:

我想减少我的豆荚的数量完全控制应关闭的吊舱。现在我减少了豆荚的数量,Kubernetes发送了一个SIGTERM,在30秒之后,豆荚将被删除。一个吊舱将重新启动发送SIGTERM由Kubernetes

我想知道当我听到我的荚果SIGTERM和出口是这样的:

if SIGTERM send 
    exit(0) 

什么会Kubernetes做:

  • 重启吊舱后30个secounds因为杀了它的sigterm
  • 忽略sigterm,因为吊舱本身被关闭
  • 抛出一个错误,因为它试图删除一个已经删除的吊舱

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

但是,它看起来像你的容器没有按照它应该的行为。收到SIGTERM后,容器应立即关闭。 30秒后,它将被Kubernetes杀死,但这只是阻止行为不检的集装箱的最后一招。

看看这个documentation from Docker关于如何正确书写Dockerfile,以便容器可以正确关闭。另请参阅this article了解更多信息。