什么是Job?
Job一般用于数据处理、迁移等一次性任务处理场景,Job会创建Pod进行作业并确保完成。
Job作业模式
- 非并行作业: 作业完成后Pod自动终止。
- 具有完成次数计数的并行作业:指定所需完成作业的次数,作业完成后Pod自动终止。
- 具有工作队列的并行作业:指定Pod之间或外部服务的协调确定作业,Pod全部终止后作业完成。
通过Yaml资源定义清单创建Job
apiVersion: batch/v1
kind: Job
metadata:
name: pi
spec:
template:
spec:
containers:
- name: pi
image: perl
command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"]
restartPolicy: Never
backoffLimit: 4
参数
.spec.completions #需要Pod的执行成功次数
.spec.parallelism #Job同时可执行的Pod数量
.spec.backoffLimit #Job的容错次数
.spec.activeDeadlineSeconds #设置Job运行的超时时间