您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“Kubernetes 1.21如何引入Indexed Jobs特性”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Kubernetes 1.21如何引入Indexed Jobs特性”這篇文章吧。
一旦你將一個(gè)非并行作業(yè)(Job)容器化,就很容易在 Kubernetes 上啟動(dòng)并運(yùn)行它,而無(wú)需修改二進(jìn)制文件。在大多數(shù)情況下,當(dāng)運(yùn)行并行分布式作業(yè)時(shí),你必須設(shè)置一個(gè)單獨(dú)的系統(tǒng)來(lái)在工作資源之間劃分工作。例如,你可以設(shè)置一個(gè)任務(wù)隊(duì)列,將一個(gè)工作項(xiàng)分配給每個(gè) Pod[2],或?qū)⒍鄠€(gè)項(xiàng)分配給每個(gè) Pod,直到隊(duì)列清空為止[3]。
Kubernetes 1.21 版本引入了一個(gè)新的字段來(lái)控制作業(yè)完成模式,這是一個(gè)配置選項(xiàng),允許你控制 Pod 完成如何影響作業(yè)的總體進(jìn)度,有兩個(gè)可能的選項(xiàng)(目前):
你可以開(kāi)始使用帶有索引完成模式的作業(yè),簡(jiǎn)稱(chēng)為索引作業(yè)(Indexed Jobs),來(lái)輕松啟動(dòng)并行作業(yè)。然后,每個(gè) worker Pod 可以根據(jù)索引有一個(gè)靜態(tài)分配的數(shù)據(jù)分區(qū)。這使你不必設(shè)置排隊(duì)系統(tǒng),甚至不必修改二進(jìn)制文件!
要?jiǎng)?chuàng)建一個(gè)索引作業(yè),你只需添加 completionMode: Indexed 到作業(yè)規(guī)范中,并使用 JOB_COMPLETION_INDEX 環(huán)境變量。
apiVersion: batch/v1
kind: Job
metadata:
name: 'sample-job'
spec:
completions: 3
parallelism: 3
completionMode: Indexed
template:
spec:
restartPolicy: Never
containers:
- command:
- 'bash'
- '-c'
- 'echo "My partition: ${JOB_COMPLETION_INDEX}"'
image: 'docker.io/library/bash'
name: 'sample-load'
注意,完成模式是 1.21 版本中的一個(gè) alpha 特性。為了能夠在集群中使用它,請(qǐng)確保在 API 服務(wù)器和控制器管理器上啟用了 IndexedJob 特性門(mén)。
當(dāng)你運(yùn)行該示例時(shí),你將看到三個(gè)創(chuàng)建的 Pods 中的每一個(gè)都獲得了不同的完成索引。為了方便用戶(hù),控制平面設(shè)置 JOB_COMPLETION_INDEX 環(huán)境變量,但是你可以選擇設(shè)置自己的或?qū)⑺饕┞稙槲募?/p>
SIG Apps 設(shè)想可能有更多的完成模式,為 Job API 啟用更多的用例。我們歡迎你在kubernetes/kubernetes[5]中提出你的建議。
特別是,我們正在考慮一種 IndexedAndUnique 模式,其中索引不僅作為注釋可用,而且是 Pod 名稱(chēng)的一部分,類(lèi)似于 StatefulSet。這應(yīng)該有助于緊密耦合的 Pod 之間的通信。你可以參加這個(gè)公開(kāi)問(wèn)題[6]的討論。
索引作業(yè)(Indexed Jobs)允許你在并行作業(yè)的作業(yè)之間靜態(tài)地劃分作業(yè)。SIG Apps 希望這個(gè)特性能夠促進(jìn)更多的批量工作負(fù)載遷移到 Kubernetes。
以上是“Kubernetes 1.21如何引入Indexed Jobs特性”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。