在 Concurrency policy 设置为 forbid 的情况下,Starting Deadline Seconds 的设置会怎么影响 cronjob 能否拉起下一个 job?
情况 1:Concurrency Policy=forbid,Starting Deadline Seconds 默认,CronJob 被设置为 从 08:30:00 开始每隔一分钟创建一个新的 Job。如果 CronJob 控制器从 08:29:00 到 10:21:00 一直在运行同一个 job,则下个 Job 将不会启动,因为其错过的调度次数超过了 100,即超出了 k8s 的默认阈值,不会启动下个 job。
情况 2:Concurrency Policy=forbid,Starting Deadline Seconds=200,如果 CronJob 启动 的 job 是在 8 点 29 启动,一直到 10:21(08:29:00 到 10:21:00)终止运行,则下个 Job 仍将从 10:22:00 开始。造成这种情况的原因是控制器现在检查在最近 200 秒中发生多少次错过的 Job 调度(即 3 个错过的调度),而不是从现在到上一个完整的 job 时间内错过的 job 数。
以上内容摘自《企业运维之云原生和Kubernetes实战》,这本书收录在开发者“藏经阁,下载地址:https://developer.aliyun.com/topic/download?id=8529
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。