有时,我们希望能同时运行多个 Pod,提高 Job 的执行效率。这个可以通过
parallelism
设置。
这里我们将并行的 Pod 数量设置为 2,实践一下:
Job 一共启动了两个 Pod,而且
AGE
相同,可见是并行运行的。
我们还可以通过
completions
设置 Job 成功完成 Pod 的总数:
上面配置的含义是:每次运行两个 Pod,直到总共有 6 个 Pod 成功完成。实践一下:
DESIRED
和
SUCCESSFUL
均为
6
,符合预期。如果不指定
completions
和
parallelism
,默认值均为
1
。
上面的例子只是为了演示 Job 的并行特性,实际用途不大。不过现实中确实存在很多需要并行处理的场景。比如批处理程序,每个副本(Pod)都会从任务池中读取任务并执行,副本越多,执行时间就越短,效率就越高。这种类似的场景都可以用 Job 来实现。
下一节我们讨论如何定时执行 Job。
书籍:
1.《每天5分钟玩转Docker容器技术》
https://item.jd.com/16936307278.html(点击“阅读原文”直达)
2.《每天5分钟玩转OpenStack》
https://item.jd.com/12086376.html