我在kubernetes官方文档中找不到关于此的任何内容。替换长期运行的cron作业的实际低层流程是什么?我想了解这一点,以便我的应用程序可以正确处理它。
SIGHUP
/ SIGTERM
信号吗?作为参考,这是文档中的Replace
策略说明:
https://kubernetes.io/docs/tasks/job/automated-tasks-with-cron-jobs/
并发策略
- 替换:如果是时候开始新的任务运行并且之前的任务尚未完成,则cron任务将当前正在运行的任务运行替换为新的任务运行
答案 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来确认。