apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: my-cronjobnamespace: mtactor
spec:
startingDeadlineSeconds: 300
concurrencyPolicy: Forbid
schedule: "*/1 * * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: my-container
image: my-image
args:
- my-argument
1、第1~5行
-(apiVersion: batch/v1beta1)kubernetes中apisver的版本,详情请参考(kubernetes 关于apiVersion版本的报错-优快云博客)
-(kind: CronJob)表示需要创建一个 CronJob
-(metadata:)元数据的定义
-(name: my-cronjob)Job的名字
-(namespace: mtactor)Job属于哪个namespace
2、第6~9行
-(spec:)CronJob的正文开始
-(startingDeadlineSeconds: 300)Job 的启动最后期限为 300 秒
如果concurrencyPolicy为Allow,startingDeadlineSeconds就没有意义
当concurrencyPolicy为Forbid时,startingDeadlineSeconds会计算300秒内错过的Job次数。比如第一次执行Job,300S一直没有成功,但是计划任务是每分钟执行,又不允许并行的情况下,那就是错过了5次执行。这个会被记录下来。如果不设置startingDeadlineSeconds,那错过100次后,后面就没法成功执行了
-(concurrencyPolicy: Forbid)是否允许Job并发执行,Allow允许,Forbid拒绝
-(schedule: "*/1 * * * *")分 时 日 月 周的格式,设置方式和Linux的crontab一样
后面没有什么好介绍的了!