5.5.2 并形式Job
将并行度属性.spec.parallelism
的值设置为1,并设置总任务数.spec.completion
属性便能够让Job控制器以串行方式运行多任务。下面是一个串行运行5次任务的Job控制器示例:
apiVersion: batch/v1
kind: Job
metadata:
name: job-multi
spec:
completions: 5
templates:
spec:
containers:
- name: myjob
image: alpine
command:
- /bin/sh
- -c
- sleep 120
restartRolicy: OnFailure
在创建之后或创建之前,可以在另一个终端启动Pod资源的列出命令“kubectl get pods -l job-name=job-multi --watch”来监控其执行过程。
.spec.parallelism
能够定义作业执行的并行度,将其设置为2或者以上的值即可实现并行多队列作业运行。同时,如果.spec.completions
使用的默认值1,则表示并行度即作业总数,如图5-15a所示:如果将.spec.completions
属性值设置为大于.spec.parallelism
的属性值,则表示使用多队列串行任务作业模式,如图5-15b所示。例如,某Job控制器配置中的spec字段嵌套了如下属性,表示以2个队列并行的方式,总共进行5次作业:
spec:
completions: 5
parallelism: 2