1.5.7. crontab

cronjob可以完成周期调度,执行作业的。 区别了单独一次的job.

1.5.7.1. crontab简述

cronjobs对于创建周期性的,反复重复的任务很有用。

1.5.7.2. cronjob样例

 1apiVersion: batch/v1
 2kind: Job
 3metadata:
 4  name: pi
 5spec:
 6  ttlSecondsAfterFinished: 100
 7  template:
 8    spec:
 9      containers:
10      - name: pi
11        image: perl
12        command: ["perl",  "-Mbignum=bpi", "-wle", "print bpi(2000)"]
13      restartPolicy: Never   
14  backoffLimit: 4
15  parallelism: 2

具体crontab表达式可以参考下 crontab.guru

1.5.7.3. CronJob 限制

cronjob根据其计划编排,在每次执行任务的时候大约会创建一个job,之所以是大约,在某些情况下会创建2个job,或者无job。因此job应该是幂等的。

Warning

如果 startingDeadlineSeconds 的设置值低于 10 秒钟,CronJob 可能无法被调度。 这是因为 CronJob 控制器每 10 秒钟执行一次检查。

CronJob 仅负责创建与其调度时间相匹配的 Job,而 Job 又负责管理其代表的 Pod。