由于 Kubernetes文档
cron 作业在其计划的每个执行时间大约创建一次作业对象。我们说“约”是因为在某些情况下可能会创造两个工作岗位,或者可能不会创造任何工作岗位。我们试图使这些罕见,但不完全阻止它们。因此,作业应该是幂等的
但 CronJob 也有参数:concurrencyPolicy (Allow, Forbid)
那么我是否可以期望如果我设置 concurrencyPolicy=Forbid CronJob 将始终在单个实例中运行?
由于 Kubernetes文档
cron 作业在其计划的每个执行时间大约创建一次作业对象。我们说“约”是因为在某些情况下可能会创造两个工作岗位,或者可能不会创造任何工作岗位。我们试图使这些罕见,但不完全阻止它们。因此,作业应该是幂等的
但 CronJob 也有参数:concurrencyPolicy (Allow, Forbid)
那么我是否可以期望如果我设置 concurrencyPolicy=Forbid CronJob 将始终在单个实例中运行?
CronJob,在某些情况下,每次运行可以调度多个 Job,这是 CronJob 并发,Allow
默认设置为。
当您将策略设置为 时Forbid
,它不会允许在之前的作业完成或超时之前启动作业。
因此,基本上,使用该Forbid
策略,如果先前的运行仍处于活动状态,则将跳过即将到来的作业。