並行執行 Job - 每天5分鐘玩轉 Docker 容器技術(134)

weixin_30924079發表於2018-02-26

有時我們希望通過同時執行多個 Pod 來提高 Job 的執行效率。可以用 parallelism 來實現。

有時,我們希望能同時執行多個 Pod,提高 Job 的執行效率。這個可以通過 parallelism 設定。

這裡我們將並行的 Pod 數量設定為 2,實踐一下:

Job 一共啟動了兩個 Pod,而且 AGE 相同,可見是並行執行的。

我們還可以通過 completions 設定 Job 成功完成 Pod 的總數:

上面配置的含義是:每次執行兩個 Pod,直到總共有 6 個 Pod 成功完成。實踐一下:

DESIREDSUCCESSFUL 均為 6,符合預期。如果不指定 completionsparallelism,預設值均為 1

上面的例子只是為了演示 Job 的並行特性,實際用途不大。不過現實中確實存在很多需要並行處理的場景。比如批處理程式,每個副本(Pod)都會從任務池中讀取任務並執行,副本越多,執行時間就越短,效率就越高。這種類似的場景都可以用 Job 來實現。

下一節我們討論如何定時執行 Job。

書籍:
1.《每天5分鐘玩轉Docker容器技術》
https://item.jd.com/16936307278.html

2.《每天5分鐘玩轉OpenStack》
https://item.jd.com/12086376.html

原文連結


相關文章