Job
Job 会创建一个或者多个 Pods,并将继续重试 Pods 的执行,直到指定数量的 Pods 成功终止。 随着 Pods 成功结束,Job 跟踪记录成功完成的 Pods 个数。 当数量达到指定的成功个数阈值时,任务(即 Job)结束。
apiVersion: batch/v1
kind: Job
metadata:
name: pi
spec:
ttlSecondsAfterFinished: 10 # 任务执行完成后10秒清理
template:
spec:
containers:
- name: pi
image: perl
command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"]
restartPolicy: Never # 重启策略
backoffLimit: 4 # 重试次数
并行job
apiVersion: batch/v1
kind: Job
metadata:
name: job-paralle
spec:
completions: 8 # 执行的次数
parallelism: 2 # 并行执行的job数
template:
spec:
containers:
- name: job-paralle
image: perl
command: ["/bin/sh"]
args: ["-c", "sleep 30; date"]
restartPolicy: OnFailure # 重启策略
CronJob
定时任务:CronJob 创建基于时间可重复调度的 Jobs。简称cj
$ kubectl get job,cj -A
下面的 CronJob 示例清单会在每分钟打印出当前时间和问候消息:
apiVersion: batch/v1
kind: CronJob
metadata:
name: hello
spec:
schedule: "* * * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: hello
image: busybox:1.28
imagePullPolicy: IfNotPresent
command:
- /bin/sh
- -c
- date; echo Hello from the Kubernetes cluster
restartPolicy: OnFailure
参考
版权声明:本文为u010275850原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。