并行执行 Job - 每天5分钟玩转 Docker 容器技术(134)
原创 CloudMan CloudMan 2018-02-26
第134篇
并行执行 Job
有时,我们希望能同时运行多个 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