kubernetes preStop hook之后,terminationGracePeriodSeconds是否仍然有效?

fzwojiic  于 2023-10-17  发布在  Kubernetes
关注(0)|答案(1)|浏览(114)

我的pod有一个preStop钩子,它向每个进程发送TSTP信号,并等待它们完成,但最多只有60秒。
假设我们将terminationGracePeriodSeconds设置为3600秒。在完成preStop钩子之后,它现在是否应该向我的进程发送TERM信号,并等到terminationGracePeriodSeconds到期后才最终发送KILL信号?
因为现在看来,在完成preStop钩子之后,它立即发送一个KILL信号,我的pod被突然删除,即使还有一个进程在运行。

bpsygsoo

bpsygsoo1#

不,它不会等terminationGracePeriodSeconds
这是preStop钩子在完成时发送SIGTERM的预期行为。
如果在terminationGracePeriodSeconds倒计时后preStop钩子没有完成,kubelet会请求额外2秒的时间让它完成,然后发送一个SIGKILL强制pod关闭。
完整的序列是:
1.已请求删除pod

  • preStop挂钩启动,terminationGracePeriodSeconds倒计时开始:
  • 如果preStop钩子完成,它会发送一个SIGTERM,停止pod
  • 如果preStop hook没有在terminationGracePeriodSeconds倒计时内完成,kubelet会在发送SIGKILL之前请求额外的2秒**,这将停止pod**。

资料来源:

相关问题