k8s家族Pod輔助小能手Init容器認(rèn)知答疑吓歇?

k8s家族Pod輔助小能手Init容器認(rèn)知答疑?

k8s集群Init 容器是一種特殊容器票腰,職責(zé)是在Pod的生命周期中作為應(yīng)用容器的前置啟動容器城看。

在很多應(yīng)用場景中,在 Pod 內(nèi)的應(yīng)用容器正式啟動之前之前需要進(jìn)行預(yù)熱操作杏慰,為正式啟動應(yīng)用容器鋪墊先決條件测柠,如預(yù)加載一些基本配置、資源限制配額缘滥、還可以包括一些應(yīng)用鏡像中不存在的實(shí)用工具和安裝腳本

image

囧么肥事-胡說八道

image
image
image

Init容器有什么特殊嗎轰胁?與普通容器有何不同?

k8s集群Init 容器是一種特殊容器朝扼,職責(zé)是在Pod的生命周期中作為應(yīng)用容器的前置啟動容器赃阀。

在很多應(yīng)用場景中,在 Pod 內(nèi)的應(yīng)用容器正式啟動之前之前需要進(jìn)行預(yù)熱操作吟税,為正式啟動應(yīng)用容器鋪墊先決條件凹耙,如預(yù)加載一些基本配置姿现、資源限制配額、還可以包括一些應(yīng)用鏡像中不存在的實(shí)用工具和安裝腳本肖抱。例如

  • 1备典、基于環(huán)境變量或配置模板生成配置文件

  • 2、等待其他關(guān)聯(lián)組件加載完成(如MySQL數(shù)據(jù)庫服務(wù)意述,Nginx服務(wù)等)

  • 3提佣、下載相關(guān)依賴包,對系統(tǒng)預(yù)配置等

  • 4荤崇、從遠(yuǎn)程數(shù)據(jù)庫獲取本地應(yīng)用所需配置拌屏,或?qū)⒆约簲?shù)據(jù)庫注冊到某個(gè)中央數(shù)據(jù)庫等

Init 容器與普通的容器非常像,Init 容器支持應(yīng)用容器的全部字段和特性术荤,包括資源限制倚喂、數(shù)據(jù)卷和安全設(shè)置磷蛹。

但是也有自己獨(dú)特的”性格“袄膏。

第一點(diǎn)Init容器必須保證成功啟動后才會啟動下個(gè)容器

如果 Pod 的 Init 容器失敗二汛,kubelet 會不斷地重啟該 Init 容器直到該容器成功為止极谊,然后才會考慮去啟動其他容器罕拂。對自己的要求比較嚴(yán)格团甲,只許成功挎春,不許失斊煅洹仑嗅!

第二點(diǎn) Kubernetes 其實(shí)禁止Init容器使用 readinessProbe

因?yàn)?Init 容器不能定義不同于完成態(tài)(Completion)的就緒態(tài)(Readiness)

第二點(diǎn)Init 容器對資源請求和限制的處理稍有不同

在給定的 Init 容器執(zhí)行順序下宴倍,資源使用適用于如下規(guī)則:

  • 所有 Init 容器上定義的任何特定資源的 limitrequest 的最大值,作為 Pod 有效初始 request/limit仓技。 如果任何資源沒有指定資源限制鸵贬,這被視為最高限制。
  • Pod 對資源的有效 limit/request浑彰,取決于兩種判斷標(biāo)準(zhǔn)中的較大者
    • 所有應(yīng)用容器對某個(gè)資源的 limit/request 之和
    • 對某個(gè)資源的有效初始 limit/request
  • 基于有效 limit/request 完成調(diào)度恭理,這意味著 Init 容器能夠?yàn)?strong>初始化過程預(yù)留資源, 這些資源在 Pod 生命周期過程中并沒有被使用郭变。
  • Pod 的 有效 QoS 颜价,與 Init 容器和應(yīng)用容器的一樣。

配額和限制適用于有效 Pod 的請求和限制值诉濒。 Pod 級別的 cgroups 是基于有效 Pod 的請求和限制值周伦,和調(diào)度器相同。

同時(shí) Init 容器不支持 lifecycle未荒、livenessProbe专挪、readinessProbestartupProbe, 因?yàn)樗鼈儽仨氃?Pod 就緒之前運(yùn)行完成。

如果為一個(gè) Pod 指定了多個(gè) Init 容器寨腔,這些容器會按順序逐個(gè)運(yùn)行速侈。 每個(gè) Init 容器必須運(yùn)行成功,下一個(gè)才能夠運(yùn)行迫卢。當(dāng)所有的 Init 容器運(yùn)行完成時(shí)倚搬, Kubernetes 才會為 Pod 初始化應(yīng)用容器并像平常一樣運(yùn)行。

它的啟動有什么不同乾蛤,如果多個(gè)Init容器啟動呢每界?失敗呢?

在 Pod 啟動過程中家卖,每個(gè) Init 容器會在網(wǎng)絡(luò)和數(shù)據(jù)卷初始化之后按順序啟動眨层。 kubelet 運(yùn)行依據(jù) Init 容器在 Pod 規(guī)約中的出現(xiàn)順序依次運(yùn)行之。

如果 Pod 的 Init 容器失敗上荡,kubelet 會不斷地重啟該 Init 容器直到該容器成功為止趴樱。 然而,如果 Pod 對應(yīng)的 restartPolicy 值為 "Never"榛臼,并且 Pod 的 Init 容器失敗伊佃, 則 Kubernetes 會將整個(gè) Pod 狀態(tài)設(shè)置為失敗。

如果為一個(gè) Pod 指定了多個(gè) Init 容器沛善,這些容器會按順序逐個(gè)運(yùn)行。 每個(gè) Init 容器必須運(yùn)行成功塞祈,下一個(gè)才能夠運(yùn)行金刁。當(dāng)所有的 Init 容器運(yùn)行完成時(shí), Kubernetes 才會為 Pod 初始化應(yīng)用容器并像平常一樣運(yùn)行议薪。

image

使用 Init 容器有什么優(yōu)勢尤蛮?

因?yàn)?Init 容器具有與應(yīng)用容器分離的單獨(dú)鏡像,其啟動相關(guān)代碼具有如下優(yōu)勢:

  • Init 容器可以包含一些安裝過程中應(yīng)用容器中不存在的實(shí)用工具或個(gè)性化代碼斯议。

    例如产捞,沒有必要僅為了在安裝過程中使用類似 sed、awk哼御、pythondig 這樣的工具而去 FROM 一個(gè)鏡像來生成一個(gè)新的鏡像坯临。

  • Init 容器可以安全地運(yùn)行這些工具,避免這些工具導(dǎo)致應(yīng)用鏡像的安全性降低恋昼。

  • 應(yīng)用鏡像的創(chuàng)建者和部署者可以各自獨(dú)立工作看靠,而沒有必要聯(lián)合構(gòu)建一個(gè)單獨(dú)的應(yīng)用鏡像。

  • Init 容器能以不同于 Pod 內(nèi)應(yīng)用容器的文件系統(tǒng)視圖運(yùn)行液肌。因此挟炬,Init 容器可以訪問 應(yīng)用容器不能訪問的Secret 的權(quán)限。

  • 由于 Init 容器必須在應(yīng)用容器啟動之前運(yùn)行完成,因此 Init 容器 提供了一種機(jī)制來阻塞或延遲應(yīng)用容器的啟動谤祖,直到滿足了一組先決條件婿滓。 一旦前置條件滿足,Pod 內(nèi)的所有的應(yīng)用容器會并行啟動粥喜。

image

《Kubernetes-企業(yè)級容器應(yīng)用托管》-持續(xù)胡說八道

第一段:推薦閱讀:【云原生新時(shí)代弄潮兒k8s憑什么在容器化方面獨(dú)樹一幟空幻?】

第二段:推薦閱讀:【趁著同事玩游戲偷偷認(rèn)識k8s一家子補(bǔ)補(bǔ)課】

第三段:推薦閱讀:【Kubernetes家族容器小管家Pod在線答疑?】

第四段:推薦閱讀:【同事提出個(gè)我從未想過的問題,為什么Kubernetes要"多此一舉"推出靜態(tài)Pod概念容客?】

第五段:推薦閱讀:【探針配置失誤秕铛,線上容器應(yīng)用異常死鎖后,kubernetes集群未及時(shí)響應(yīng)自愈重啟容器缩挑?】

第六段:推薦閱讀:【kubernetes集群之Pod說能不能讓我體面的消亡呀但两?】

第七段:推薦閱讀:【k8s家族Pod輔助小能手Init容器認(rèn)知答疑?】

第八段:待更新供置?推薦休閑閱讀:【囧么肥事】

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末谨湘,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子芥丧,更是在濱河造成了極大的恐慌紧阔,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件续担,死亡現(xiàn)場離奇詭異擅耽,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)物遇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進(jìn)店門乖仇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人询兴,你說我怎么就攤上這事乃沙。” “怎么了诗舰?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵警儒,是天一觀的道長。 經(jīng)常有香客問我眶根,道長蜀铲,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任汛闸,我火速辦了婚禮蝙茶,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘诸老。我一直安慰自己隆夯,他們只是感情好钳恕,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蹄衷,像睡著了一般忧额。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上愧口,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天睦番,我揣著相機(jī)與錄音,去河邊找鬼耍属。 笑死托嚣,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的厚骗。 我是一名探鬼主播示启,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼领舰!你這毒婦竟也來了夫嗓?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤冲秽,失蹤者是張志新(化名)和其女友劉穎舍咖,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體锉桑,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡排霉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了刨仑。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片郑诺。...
    茶點(diǎn)故事閱讀 39,696評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖杉武,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情辙售,我是刑警寧澤轻抱,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站旦部,受9級特大地震影響祈搜,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜士八,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一容燕、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧婚度,春花似錦蘸秘、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽寻咒。三九已至,卻和暖如春颈嚼,著一層夾襖步出監(jiān)牢的瞬間毛秘,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工阻课, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留叫挟,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓限煞,卻偏偏與公主長得像抹恳,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子晰骑,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評論 2 353

推薦閱讀更多精彩內(nèi)容