kubernetes Cronjob并发策略未按预期工作

biswetbf  于 2023-03-12  发布在  Kubernetes
关注(0)|答案(1)|浏览(108)

1.23克朗
在K8S文档之后,我将concurrencyPolicy: Forbid添加到了CronJob清单中,但是当我手动触发cronJob时,我仍然可以看到它同时运行(不想等待cron调度时间)。
我希望cronJob仅在上一个作业完成后创建新作业。

apiVersion: batch/v1
kind: CronJob
metadata:
  name: my-cron
spec:
  successfulJobsHistoryLimit: 1
  failedJobsHistoryLimit: 1
  schedule: {{ .Values.cronSchedule | quote }}
  concurrencyPolicy: Forbid
  jobTemplate:
    spec:
      backoffLimit: 0
      template:
        spec:
          .
          .
          .
t9aqgxwy

t9aqgxwy1#

根据本文件
spec.concurrencyPolicy字段也是可选的,它指定如何处理由该CronJob创建的作业的并发执行。

禁止:CronJob不允许并发运行;如果到了新作业运行的时间,而上一个作业运行尚未完成,则CronJob将跳过新作业运行

注意并发策略只适用于同一个cron job创建的job,如果有多个cronjob,它们各自的job总是被允许并发运行。

这是预期行为。手动创建的作业不受concurrencyPolicy影响。

相关问题