当kubernetes cron作业吊舱被“替换”并发策略终止时,关闭状态会如何?

时间:2020-01-29 18:42:31

标签: kubernetes cron

我在kubernetes官方文档中找不到关于此的任何内容。替换长期运行的cron作业的实际低层流程是什么?我想了解这一点,以便我的应用程序可以正确处理它。

  • 发送给正在运行的应用的信号是干净的SIGHUP / SIGTERM信号吗?
  • 在发送该信号后是否有一个等待期,因此应用有时间清理/关闭,然后有可能被杀死?如果是这样,那超时时间是几秒钟?还是永远等待?

作为参考,这是文档中的Replace策略说明:

https://kubernetes.io/docs/tasks/job/automated-tasks-with-cron-jobs/

并发策略

  • 替换:如果是时候开始新的任务运行并且之前的任务尚未完成,则cron任务将当前正在运行的任务运行替换为新的任务运行

1 个答案:

答案 0 :(得分:3)

CronJob的下面只有另一个Pod。

当并发策略为“替换”的Cronjob仍处于活动状态时,hard-coded也会删除Pod。

当Pod为Job will be deleted时,将在宽限期(默认为30秒)后向Linux容器发送SIGTERM,然后发送SIGKILL。可以将deleted中的terminationGracePeriodSeconds属性设置为覆盖该默认值。

由于将PodSpec添加到了flag调用中,因此听起来像这种删除只是从kube键/值存储中删除值。这意味着可以在当前作业/窗格仍终止时创建新的作业/窗格。您可以使用不遵守SIGTERM并且将terminationGracePeriodSeconds设置为群集调度速度几倍的Job来确认。

相关问题