有時,我們希望能同時執行多個 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