Kubernetes-CronJob、Job
Crontab
在K8S中运行周期性的计划任务,crontab。
CronJob被调用的时间, 用的是Controller-Manager的时间。
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: hello
spec:
concurrencyPolicy: Allow
failedJobHistoryLimit: 1
schedule: "*/1 * * * *"
successfulJobsHistoryLimit: 3
suspend: false
jobTemplate:
spec:
template:
spec:
containers:
- name: hello
image: busybox
args:
- /bin/sh
- -c
- date; echo Hello from the Kubernetes cluster
restartPolicy: OnFailure
参数:
concurrencyPolicy: Allow 并发调度策略:Allow 允许同时运行多个任务。
- Forbid 不运行并发执行
- Replace 替换之前的任务
failedJobHistoryLimit: 1 保留失败的任务次数
successfulJobsHistoryLimit: 3 成功的Job保留的次数
suspend: false # 挂起,true:cronjob不会被执行