亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

深入K8S Job(一):介紹

ysl_unh / 2109人閱讀

摘要:用于批量處理短暫的一次性任務(wù),并保證指定數(shù)量的成功結(jié)束。一旦有一個(gè)成功結(jié)束,其他都會(huì)準(zhǔn)備退出。默認(rèn)值指定可運(yùn)行的時(shí)間期限,超過(guò)時(shí)間還未結(jié)束,系統(tǒng)將會(huì)嘗試進(jìn)行終止。已知問(wèn)題設(shè)置為時(shí),會(huì)與沖突,可以暫時(shí)將設(shè)置為進(jìn)行規(guī)避。

介紹

Kubernetes有兩個(gè)概念跟job有關(guān):

Job: 負(fù)責(zé)批量處理短暫的一次性任務(wù),僅執(zhí)行一次,并保證處理的一個(gè)或者多個(gè)Pod成功結(jié)束。

CronJob: 負(fù)責(zé)定時(shí)任務(wù),在指定的時(shí)間周期運(yùn)行指定的任務(wù)。

Job

Job用于批量處理短暫的一次性任務(wù),并保證指定數(shù)量的Pod成功結(jié)束。
K8S支持以下幾種方式:

非并行Job:

通常只運(yùn)行一個(gè)Pod,Pod成功結(jié)束Job就退出。

固定完成次數(shù)的并行Job:

并發(fā)運(yùn)行指定數(shù)量的Pod,直到指定數(shù)量的Pod成功,Job結(jié)束。

帶有工作隊(duì)列的并行Job:

用戶可以指定并行的Pod數(shù)量,當(dāng)任何Pod成功結(jié)束后,不會(huì)再創(chuàng)建新的Pod

一旦有一個(gè)Pod成功結(jié)束,并且所有的Pods都結(jié)束了,該Job就成功結(jié)束。

一旦有一個(gè)Pod成功結(jié)束,其他Pods都會(huì)準(zhǔn)備退出。

Job Spec

完整Job字段可以參考Job。Job有幾個(gè)主要參數(shù)配合用于指定完成次數(shù),并發(fā)運(yùn)行,錯(cuò)誤重試等操作:

.spec.completions: 指定job需要成功運(yùn)行Pods的次數(shù)。默認(rèn)值: 1

.spec.parallelism: 指定job在任一時(shí)刻應(yīng)該并發(fā)運(yùn)行Pods的數(shù)量。默認(rèn)值: 1

.spec.activeDeadlineSeconds: 指定job可運(yùn)行的時(shí)間期限,超過(guò)時(shí)間還未結(jié)束,系統(tǒng)將會(huì)嘗試進(jìn)行終止。

.spec.backoffLimit: 指定job失敗后進(jìn)行重試的次數(shù)。默認(rèn)是6次,每次失敗后重試會(huì)有延遲時(shí)間,該時(shí)間是指數(shù)級(jí)增長(zhǎng),最長(zhǎng)時(shí)間是6min。

已知問(wèn)題Issue #54870, .spec.template.spec.restartPolicy設(shè)置為”O(jiān)nfailure”時(shí),會(huì)與.spec.backoffLimit沖突,可以暫時(shí)將restartPolicy設(shè)置為”Never”進(jìn)行規(guī)避。

注1: .spec.activeDeadlineSeconds要比.spec.backoffLimit優(yōu)先級(jí)高,如果時(shí)間到了,但是backoffLimit還未到,該Job也會(huì)被強(qiáng)制停止。

Job模式

Job有幾種典型的模式應(yīng)用于不同的業(yè)務(wù)場(chǎng)景:

基于Job模版進(jìn)行擴(kuò)展:

需要先編寫(xiě)一個(gè)通用的Job模版,根據(jù)不同的參數(shù)生成多個(gè)Job json/yml文件用于Job的創(chuàng)建,可以使用相同的標(biāo)簽進(jìn)行Job管理。

按每個(gè)工作項(xiàng)目排列的隊(duì)列:

需要用戶提前準(zhǔn)備好一個(gè)消息隊(duì)列服務(wù),比如rabbitMQ,該服務(wù)是一個(gè)公共組件,每個(gè)工作項(xiàng)目可以往里塞任務(wù)消息。

用戶可以創(chuàng)建并行Job,需要能適用于該消息隊(duì)列,然后從該消息隊(duì)列中消費(fèi)任務(wù),并進(jìn)行處理直到消息被處理完。

該模式下,用戶需要根據(jù)項(xiàng)目數(shù)量填寫(xiě)spec.completions, 并行數(shù)量.spec.parallelism可以根據(jù)實(shí)際情況填寫(xiě)。該模式下就是以所有的任務(wù)都成功完成了,job才會(huì)成功結(jié)束。

可變?nèi)蝿?wù)數(shù)量的隊(duì)列:

需要用戶提前準(zhǔn)備好一個(gè)存儲(chǔ)服務(wù)來(lái)保存工作隊(duì)列,比如Redis。每個(gè)項(xiàng)目可以往該存儲(chǔ)服務(wù)填充消息。

用戶可以啟動(dòng)適用于該工作隊(duì)列的多個(gè)并行Job,進(jìn)行消息處理。與前一個(gè)Rabbit消息隊(duì)列的差異在于,每個(gè)Job任務(wù)是可以知道工作隊(duì)列已經(jīng)空了,這時(shí)候便可以成功退出。

該模式下,spec.completions需要置1, 并行數(shù)量.spec.parallelism可以根據(jù)實(shí)際情況填寫(xiě)。只要其中有一個(gè)任務(wù)成功完成,該Job就會(huì)成功結(jié)束。

普通的靜態(tài)任務(wù)

CronJob

cronJob是基于時(shí)間進(jìn)行任務(wù)的定時(shí)管理:

在特定的時(shí)間點(diǎn)運(yùn)行任務(wù)

反復(fù)在指定的時(shí)間點(diǎn)運(yùn)行任務(wù):比如定時(shí)進(jìn)行數(shù)據(jù)庫(kù)備份,定時(shí)發(fā)送電子郵件等等。

CronJob Spec

完整的spec字段,可以參考CronJob,介紹幾個(gè)主要的字段:

.spec.schedule: 指定任務(wù)運(yùn)行周期,具體格式參考Cron - Wikipedia

.spec.startingDeadlineSeconds: 指定任務(wù)運(yùn)行的截止時(shí)間

.spec.concurrencyPolicy: 指定任務(wù)的并發(fā)策略,參數(shù)支持Allow、Forbid和Replace。

.spec.jobTemplate: 指定需要運(yùn)行的任務(wù),格式同Job。所以其實(shí)cronJob是基于Job進(jìn)行實(shí)現(xiàn)。

參考資料

Jobs - Run to Completion | Kubernetes

Parallel Processing using Expansions | Kubernetes

Coarse Parallel Processing Using a Work Queue | Kubernetes

Fine Parallel Processing Using a Work Queue | Kubernetes

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/32723.html

相關(guān)文章

  • 深入K8S Job(二):job controller源碼分析

    摘要:用于獲取元數(shù)據(jù)及根據(jù)的來(lái)匹配該會(huì)使用到的接口如下用于根據(jù)反推根據(jù)獲取元數(shù)據(jù)提供了接口用于獲取指定下管理的所有通過(guò)的數(shù)據(jù)變更,比如,來(lái)操作該。 k8s version: v1.11.0author: lbl167612@alibaba-inc.com 源碼流程圖 showImg(https://segmentfault.com/img/remote/1460000016496285?w...

    EddieChan 評(píng)論0 收藏0
  • 深入K8S Job(三):cronJob controller源碼分析

    摘要:如果沒(méi)有指定,則沒(méi)有期限。取消當(dāng)前正在運(yùn)行的,然后新建來(lái)替換。和這兩個(gè)字段也是可選的。設(shè)置限制值為,相關(guān)類型的完成后將不會(huì)被保留。列出所有的列出所有的遍歷所有的根據(jù)字段確定該是否由所創(chuàng)建。 k8s version: v1.11.0author: lbl167612@alibaba-inc.com 源碼流程圖 showImg(https://segmentfault.com/img/r...

    Enlightenment 評(píng)論0 收藏0
  • Kubernetes 核心概念

    摘要:核心概念是最小的調(diào)度單元,可以由一個(gè)或者多個(gè)容器組成。該模式會(huì)跟云服務(wù)商有關(guān),比如可以通過(guò)等創(chuàng)建一個(gè)外部的負(fù)載均衡器,將請(qǐng)求轉(zhuǎn)發(fā)到對(duì)應(yīng)的服務(wù)組。而可以提供外部服務(wù)可訪問(wèn)的負(fù)載均衡器等。 概述 Kubernetes 有各類資源對(duì)象來(lái)描述整個(gè)集群的運(yùn)行狀態(tài)。這些對(duì)象都需要通過(guò)調(diào)用 kubernetes api 來(lái)進(jìn)行創(chuàng)建、修改、刪除,可以通過(guò) kubectl 命令工具,也可以直接調(diào)用 k8...

    Cobub 評(píng)論0 收藏0
  • 容器監(jiān)控實(shí)踐—kube-state-metrics

    摘要:功能提供的指標(biāo),按照階段分為三種類別實(shí)驗(yàn)性質(zhì)的中階段的或者的字段。穩(wěn)定版本的中不向后兼容的主要版本的更新被廢棄的已經(jīng)不在維護(hù)的。通過(guò)比較來(lái)保證的順序并不保證包含所有資源本文為容器監(jiān)控實(shí)踐系列文章,完整內(nèi)容見(jiàn) 概述 已經(jīng)有了cadvisor、heapster、metric-server,幾乎容器運(yùn)行的所有指標(biāo)都能拿到,但是下面這種情況卻無(wú)能為力: 我調(diào)度了多少個(gè)replicas?現(xiàn)在可...

    kevin 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

ysl_unh

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<