一个吊舱将重新启动发送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了解更多信息。