容器化Batch Job調度方法

一.? 集群Job的幾種分類

? ? ? 集群中運行的Job一般可分為三種類型:

? ? ? 1.?deployment Job: 提供持續(xù)監(jiān)聽服務公黑,需要一直運行妻导,比如 server哄尔,daemon 等

? ? ? ?2.?batch Job:?負責批處理任務粗合,即僅需要成功執(zhí)行一次的任務。

? ? ? ?3.?cron Job:?負責定時觸發(fā)任務執(zhí)行芽偏,該任務可以是deployment或者batch類型。

二.? 容器化Batch Job應用

? ? ? ?對于Batch Job弦讽,將其容器化污尉,并保證批處理任務只成功執(zhí)行一次,需考慮以下幾點:

? ? ? 1.? 通過容器化保證Job之間的資源隔離以及每個Job的資源配比

? ? ? 2.? 新的Job在集群中被分配到的節(jié)點策略及負載均衡策略

? ? ? 2.? 任務執(zhí)行中容器本身即內部實際業(yè)務處理的狀態(tài)監(jiān)控

? ? ? 3.? 任務執(zhí)行成功后資源釋放的狀態(tài)反饋

? ? ? 4.? 任務執(zhí)行失敗后的重試機制?

三.? 基于Mesos實現(xiàn)Batch Job調度

? ? ? ?Mesos誕生于UC Berkeley的一個研究項目往产,現(xiàn)已成為Apache Incubator中的項目被碗,當前有一些公司使用Mesos管理集群資源,比如Twitter仿村。

mesos

? ??Mesos是master/slave結構锐朴,master是輕量級的,僅保存了framework和mesos slave的一些狀態(tài)蔼囊,而這些狀態(tài)很容易通過framework和slave重新注冊而重構焚志。Mesos master是一個全局資源調度器,采用某種策略將某個slave上的空閑資源分配給某一個framework压真,各種framework通過自己的調度器向Mesos master注冊娩嚼,以接入到Mesos中;而Mesos slave主要功能是匯報任務的狀態(tài)和啟動各個framework的executor滴肿。

? ? ?Chronos和Marathon都是基于Mesos比較優(yōu)秀的定時任務調度和服務類任務調度的Framework岳悟,開源并由mesosphere公司維護升級,而對于Batch Job暫時還沒有比較知名的基于Mesos的開源框架支撐。但是根據(jù)實際業(yè)務需要贵少,基于Mesos提供的接口可以很容易實現(xiàn)Batch Job Framework呵俏,大致的實現(xiàn)流程如下:

framework實現(xiàn)原理

? ? ?具體根據(jù)業(yè)務需求,參考實例:https://github.com/weiyuanke/run-docker-on-mesos-test-framework

四.? 基于k8s實現(xiàn)Batch Job調度

? ? ? 本文主要將基于K8S的Batch Job, Kubernetes自身已經(jīng)實現(xiàn)了Deployment,CronJob,BatchJob三種類型任務的調度滔灶,并提供了REST API提供第三方應用集成普碎,此處設計實現(xiàn)了一種基于?kubernetes的容器調度及狀態(tài)監(jiān)控的應用,具體結構如下:

kubernetes批任務

? ? ? ?1.? 通過rancher搭建k8s集群

? ??????Rancher是一個開源的企業(yè)級容器管理平臺录平。通過Rancher麻车,不必自己使用一系列的開源軟件去從頭搭建容器服務平臺。Rancher提供了在生產(chǎn)環(huán)境中使用的管理Docker和Kubernetes的全椂氛猓化容器部署與管理平臺动猬。Rancher的環(huán)境搭建參考:

? ??????https://www.cnrancher.com/docs/rancher/v2.x/cn/installation/

rancher + k8s

? ? ? ? ? ??2.??創(chuàng)建kubernetes的訪問密鑰

keys

?????????????3.??獲取Bearer Token用來Authorization

token

?????????????4.??通過postman發(fā)送創(chuàng)建Job任務的請求

? ? ? ? ? ? ?K8S API地址:https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.15/#job-v1-batch

? ? ? ? ? ? ?由于采用https,先將postman中的“SSL certificate verification”設置成OFF

SSL

????????????????創(chuàng)建post請求表箭,在authorization中設置Bearer Token為剛剛創(chuàng)建的密鑰

authorization

????????????????Hearder中的Content-Type需要設置成 application/yaml

header

????????????Body中選在raw 以及 Text,并在raw中填寫具體的請求體(yaml文件數(shù)據(jù))

body

????????????????一個簡單的任務提交命令:

submit

?????????????4.??通過Java發(fā)送創(chuàng)建Job任務的請求:

? ? ? ? ? ? ? ?HttpsUtil:

HttpsUtil

? ???????????????TaskScheduleService:

taskSchedule

? ???????5.? 任務執(zhí)行過程采集

? ? ? ? ? ? 由于k8s只能對容器整體的生命周期進行管理赁咙,如果容器內的任務又包含了多個stage,需要采集這些stage的執(zhí)行狀態(tài)即過程日志的話免钻,需要容器內的業(yè)務代碼實現(xiàn)彼水。

? ? ? ? ? ? 實現(xiàn)參考架構圖,略极舔。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末凤覆,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子姆怪,更是在濱河造成了極大的恐慌叛赚,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,599評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件稽揭,死亡現(xiàn)場離奇詭異俺附,居然都是意外死亡,警方通過查閱死者的電腦和手機溪掀,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,629評論 3 385
  • 文/潘曉璐 我一進店門淋昭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來缚忧,“玉大人,你說我怎么就攤上這事【淇” “怎么了亭枷?”我有些...
    開封第一講書人閱讀 158,084評論 0 348
  • 文/不壞的土叔 我叫張陵冰垄,是天一觀的道長滑绒。 經(jīng)常有香客問我,道長骚勘,這世上最難降的妖魔是什么铐伴? 我笑而不...
    開封第一講書人閱讀 56,708評論 1 284
  • 正文 為了忘掉前任撮奏,我火速辦了婚禮,結果婚禮上当宴,老公的妹妹穿的比我還像新娘畜吊。我一直安慰自己,他們只是感情好户矢,可當我...
    茶點故事閱讀 65,813評論 6 386
  • 文/花漫 我一把揭開白布玲献。 她就那樣靜靜地躺著,像睡著了一般梯浪。 火紅的嫁衣襯著肌膚如雪捌年。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,021評論 1 291
  • 那天驱证,我揣著相機與錄音延窜,去河邊找鬼。 笑死抹锄,一個胖子當著我的面吹牛,可吹牛的內容都是我干的荠藤。 我是一名探鬼主播伙单,決...
    沈念sama閱讀 39,120評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼哈肖!你這毒婦竟也來了吻育?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,866評論 0 268
  • 序言:老撾萬榮一對情侶失蹤淤井,失蹤者是張志新(化名)和其女友劉穎布疼,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體币狠,經(jīng)...
    沈念sama閱讀 44,308評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡游两,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,633評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了漩绵。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片贱案。...
    茶點故事閱讀 38,768評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖止吐,靈堂內的尸體忽然破棺而出宝踪,到底是詐尸還是另有隱情,我是刑警寧澤碍扔,帶...
    沈念sama閱讀 34,461評論 4 333
  • 正文 年R本政府宣布瘩燥,位于F島的核電站,受9級特大地震影響不同,放射性物質發(fā)生泄漏厉膀。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,094評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望站蝠。 院中可真熱鬧汰具,春花似錦、人聲如沸菱魔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,850評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽澜倦。三九已至聚蝶,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間藻治,已是汗流浹背碘勉。 一陣腳步聲響...
    開封第一講書人閱讀 32,082評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留桩卵,地道東北人验靡。 一個月前我還...
    沈念sama閱讀 46,571評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像雏节,于是被迫代替她去往敵國和親胜嗓。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,666評論 2 350

推薦閱讀更多精彩內容