Kubernetes concurrencyPolicy Forbid 不阻止并发作业

Kubernetes concurrencyPolicy Forbid not preventing concurrent jobs

我有一个备份作业 运行ning,计划每 24 小时 运行。我将并发策略设置为“禁止”。我正在测试我的备份,我手动创建作业进行测试,但这些测试并不禁止并发 运行s。我使用:

kubectl create job --from=cronjob/my-backup manual-backup-(timestamp)

...当我连续 运行 他们两次时,我发现他们都开始了工作。

并发策略是否仅适用于 Cron 作业调度程序创建的作业?它会忽略手动创建的作业吗?如果它忽略了那些,是否有其他方法可以手动 运行 作业,以便 Cron 作业调度程序知道它们在那里?

...Does the concurrency policy only apply to jobs created by the Cron job scheduler?

concurrencyPolicy 适用于 CronJob,因为它会影响 CronJob 开始工作的方式。它是 CronJob 规范的一部分,而不是 Job 规范的一部分。

...Does it ignore manually-created jobs?

是的。

...ways to manually run the job such that the Cron job scheduler knows they are there?

请注意,当 concurrencyPolicy 设置为 Forbid 并且 CronJob 的时间到了 运行 作业时;但它检测到有工作属于此 CronJob 是 运行ning;它会将当前尝试计为 missed。如果您在 CronJob 之外手动启动作业基础,则最好将 CronJob spec.suspend 临时设置为 true,并且执行时间将跨越下一个计划时间。