k8s CronJob
k8s CronJob文章目录k8s CronJob@[TOC](文章目录)前言一、CronJob yaml?二、schedule三、successfulJobsHistoryLimit四、failedJobsHistoryLimit五、startingDeadlineSeconds六、ttlSecondsAfterFinished总结前言cronjob其实就是在Job的基础上加上了时间调度,我们
·
k8s CronJob
前言
- cronjob其实就是在Job的基础上加上了时间调度,我们可以:在给定的时间点运行一个任务,也可以周期性地在给定时间点运行。这个实际上和Linux中的crontab就非常类似了。
- 一个cronjob对象其实就对应crontab文件中的一行,它根据配置的时间格式周期性地运行一个Job,格式和crontab也是一样的。
一、CronJob yaml
apiVersion: batch/v1
kind: CronJob
metadata:
name: hello
spec:
schedule: "*/1 * * * *"
successfulJobsHistoryLimit: 1
failedJobsHistoryLimit: 1
startingDeadlineSeconds: 60 ##CronJob 控制器将测量从预期创建作业到现在之间的时间。如果差异高于该限制,它将跳过此执行。 例如,如果设置为200,则它允许在实际计划后最多 200 秒内创建作业。
jobTemplate:
spec:
#ttlSecondsAfterFinished: 30
template:
spec:
containers:
- name: hello
image: centos
imagePullPolicy: IfNotPresent
command: ["/bin/sh", "-c", " echo "," 123"]
restartPolicy: OnFailure
二、schedule
*/1 其实就是每分钟
'*/1 * * * *'
分 小时 日 月 周 要运行的命令
#第1列分钟(0~59)
#第2列小时(0~23)
#第3列日(1~31)
#第4列月(1~12)
#第5列星期(0~7)(0和7表示星期天)
#第6列要运行的命令
三、successfulJobsHistoryLimit
- 保留执行成功的历史记录次数,默认值是3。
- 假如设置为5,就会保留过去5次成功的执行记录
四、failedJobsHistoryLimit
- 保留执行失败的历史记录次数,默认值是1。
- 假如设置为3,就会保留过去3次失败的执行记录
五、startingDeadlineSeconds
它表示任务如果由于某种原因错过了调度时间,开始该任务的截止时间的秒数。
控制器将测量从预期创建作业到现在之间的时间。
如果差异高于该限制,它将跳过此执行。
例如,如果设置为60,则它允许在实际计划后最多60 秒内创建作业。
六、ttlSecondsAfterFinished
假如jobTemplate添加了ttlSecondsAfterFinished,这个时候successfulJobsHistoryLimit和failedJobsHistoryLimit就会失效。
例如ttlSecondsAfterFinished设置成30,这样不管这次的job是成功还是失败,在30秒后会照样清除
总结
上面是我对k8s CronJob使用的一些总结,以后有新的理解会再补充
更多推荐
已为社区贡献7条内容
所有评论(0)