2019-11-05 名詞解釋 pods

什么是pod挪圾?

image.png

pods

  • pod 是 Kubernets 中最小的單位。
  • 一個 Pod 就是一個容器環(huán)境下的“邏輯主機”,它包含一個或多個緊密相連的應(yīng)用,這些應(yīng)用可能是在同一臺物理機或虛擬機上摔握。

pod的 context 可以理解為多個 Linux 命名空間的聯(lián)合。

  • pid 命名空間(同一個pod中應(yīng)用可以看到其他進程)
  • 網(wǎng)絡(luò) 命名空間 (同一個pod中的應(yīng)用對相同的ip地址和端口有權(quán)限)
  • IPC 命名空間 (同一個pod中的應(yīng)用可以通過VPC或者POSIX進行通訊)
  • UTS 命名空間 (同一個pod中的應(yīng)用共享一個主機名稱)

同一個Pod中的應(yīng)用可以共享磁盤丁寄,磁盤是Pod級的氨淌,應(yīng)用可以通過文件系統(tǒng)調(diào)用泊愧,額外的,一個Pod可能會定義頂級的cgroup隔離盛正,這樣的話綁定到任何一個應(yīng)用(好吧删咱,這句是在沒怎么看懂,就是說Pod豪筝,應(yīng)用痰滋,隔離)

由于docker的架構(gòu),一個Pod是由多個相關(guān)的并且共享磁盤的容器組成续崖,Pid的命名空間共享還沒有應(yīng)用到Docker中

和相互獨立的容器一樣敲街,Pod是一種相對短暫的存在,而不是持久存在的严望,正如我們在Pod的生命周期中提到的多艇,Pod被安排到結(jié)點上,并且保持在這個節(jié)點上直到被終止(根據(jù)重啟的設(shè)定)或者被刪除像吻,當一個節(jié)點死掉之后峻黍,上面的所有Pod均會被刪除。特殊的Pod永遠不會被轉(zhuǎn)移到的其他的節(jié)點拨匆,作為替代姆涩,他們必須被replace.

pod 的使用

pod 可以作為垂直應(yīng)用整合的載體,但是它主要的特點是同地協(xié)作涮雷,如同管理程序阵面;例如:

  • 內(nèi)容管理系統(tǒng),文件和數(shù)據(jù)加載洪鸭,本地緩存等等
  • 日志和檢查點備份样刷,壓縮,循環(huán)览爵,快照等等
  • 數(shù)據(jù)交換監(jiān)控置鼻,日志追蹤,日志記錄和監(jiān)控適配器蜓竹,以及事件發(fā)布等等
  • 代理箕母,網(wǎng)橋,適配器
  • 控制俱济,管理嘶是,配置,更新

總體來說蛛碌,獨立的pod不會去加載多個相同的應(yīng)用實例

pod的持久化

Pod并不是被設(shè)計成一個持久化的資源聂喇,它不會在調(diào)度失敗,節(jié)點崩潰,或者其他回收中(比如因為資源的缺乏希太,或者其他的維護中)幸存下來

總體來說克饶,用戶因該直接去創(chuàng)建Pod,并且一直使用controller(replication controller),即使是一個節(jié)點的情況誊辉,這是因為controller提供了集群范圍內(nèi)的自我修復(fù)矾湃,以及復(fù)制還有展示管理

集群API的使用是用戶的主要使用方式,這是相對普遍的在如下云管理平臺中( Borg, Marathon, Aurora, and Tupperware.)

Pod 的直接暴露使如下操作變得更容器

  • 調(diào)度和管理的易用性
  • 在沒有的代理的情況下通過 API 對 pod 進行操作
  • Pod 的生命周期和管理器的生命周期分離
  • 解偶控制器和服務(wù)堕澄,后段服務(wù)器僅僅監(jiān)控Pod
  • 劃分清楚了 Kuberlet 的級別功能和云平臺的級別功能邀跃,Kuberlet 實際上是一個 Pod 管理器
  • 高可用,當發(fā)生一些刪除或者維護的過程時奈偏,Pod 會自動的在他們終止之前創(chuàng)建新的代替

容器的終止

因為 Pod 代表著一個集群中節(jié)點上運行的進程坞嘀,當這些進程不再被需要,優(yōu)雅退出是很重要的(與粗暴的用一個KILL信號去結(jié)束惊来,讓應(yīng)用沒有機會進行清理操作)丽涩。用戶應(yīng)該能請求刪除,并且在室進程終止的情況下能知道裁蚁,而且也能保證刪除最終完成矢渊。當一個用戶請求刪除 Pod ,系統(tǒng)記錄想要的優(yōu)雅退出時間段枉证,在這之前 Pod 不允許被強制殺死矮男,TERM 信號也會發(fā)送給容器的主要進程。一旦優(yōu)雅退出時間段過了室谚,KILL 信號就會送到這些進程毡鉴,Pod 就會從 API 服務(wù)器中刪除。如果在等待進程結(jié)束的時候秒赤,Kuberlet 或者 容器管理器 重啟了猪瞬,結(jié)束過程會帶著完整的優(yōu)雅退出時間段進行重試。

一個示例流程:

1. 用戶發(fā)送一個命令來刪除Pod入篮,默認的優(yōu)雅退出時間是30秒
2. API服務(wù)器中的Pod更新時間陈瘦,超過該時間Pod被認為死亡
3. 在客戶端命令的的里面,Pod顯示為”Terminating(退出中)”的狀態(tài)
4. (與第3同時)當Kubelet看到Pod標記為退出中的時候潮售,因為第2步中時間已經(jīng)設(shè)置了痊项,它開始pod關(guān)閉的流程
i. 如果該Pod定義了一個停止前的鉤子,其會在pod內(nèi)部被調(diào)用酥诽。如果鉤子在優(yōu)雅退出時間段超時仍然在運行鞍泉,第二步會意一個很小的優(yōu)雅時間斷被調(diào)用
ii. 進程被發(fā)送TERM的信號
5. (與第三步同時進行)Pod從service的列表中被刪除,不在被認為是運行著的pod的一部分肮帐。緩慢關(guān)閉的pod可以繼續(xù)對外服務(wù)咖驮,當負載均衡器將他們輪流移除。
6. 當優(yōu)雅退出時間超時了,任何pod中正在運行的進程會被發(fā)送SIGKILL信號被殺死游沿。
7. Kubelet會完成pod的刪除,將優(yōu)雅退出的時間設(shè)置為0(表示立即刪除)肮砾。pod從API中刪除诀黍,不在對客戶端可見。

默認情況下仗处,所有的刪除操作的優(yōu)雅退出時間都在30秒以內(nèi)眯勾。kubectl delete命令支持–graceperiod=的選項,以運行用戶來修改默認值婆誓。0表示刪除立即執(zhí)行囤官,并且立即從API中刪除pod這樣一個新的pod會在同時被創(chuàng)建呻纹。在節(jié)點上,被設(shè)置了立即結(jié)束的的pod,仍然會給一個很短的優(yōu)雅退出時間段狼讨,才會開始被強制殺死。

使用Volume

Volume可以為容器提供持久化存儲题禀,比如

apiVersion: v1
kind: Pod
metadata:
  name: redis
spec:
  containers:
  - name: redis
    image: redis
    volumeMounts:
    - name: redis-storage
      mountPath: /data/redis
  volumes:
  - name: redis-storage
    emptyDir: {}

私有鏡像

在使用私有鏡像時馍资,需要創(chuàng)建一個docker registry secret,并在容器中引用燥翅。

創(chuàng)建docker registry secret:

kubectl create secret docker-registry regsecret --docker-server=<your-registry-server> --docker-username=<your-name> --docker-password=<your-pword> --docker-email=<your-email>

容器中引用該secret:

apiVersion: v1
kind: Pod
metadata:
  name: private-reg
spec:
  containers:
    - name: private-reg-container
      image: <your-private-image>
  imagePullSecrets:
    - name: regsecret

RestartPoliy

支持三種類型的 RestartPoliy

  • Always:只要退出就重啟
  • OnFailure: 失敗退出 (exit code 不等于0 )時重啟
  • Never: 只要退出就不再重啟

    注意骑篙,這里的重啟是指在Pod 所在的本地重啟,并不會調(diào)度到其他node上去森书。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末靶端,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子凛膏,更是在濱河造成了極大的恐慌杨名,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,539評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件译柏,死亡現(xiàn)場離奇詭異镣煮,居然都是意外死亡,警方通過查閱死者的電腦和手機鄙麦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評論 3 396
  • 文/潘曉璐 我一進店門典唇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人胯府,你說我怎么就攤上這事介衔。” “怎么了骂因?”我有些...
    開封第一講書人閱讀 165,871評論 0 356
  • 文/不壞的土叔 我叫張陵炎咖,是天一觀的道長。 經(jīng)常有香客問我,道長乘盼,這世上最難降的妖魔是什么升熊? 我笑而不...
    開封第一講書人閱讀 58,963評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮绸栅,結(jié)果婚禮上级野,老公的妹妹穿的比我還像新娘。我一直安慰自己粹胯,他們只是感情好蓖柔,可當我...
    茶點故事閱讀 67,984評論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著风纠,像睡著了一般况鸣。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上竹观,一...
    開封第一講書人閱讀 51,763評論 1 307
  • 那天镐捧,我揣著相機與錄音,去河邊找鬼栈幸。 笑死愤估,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的速址。 我是一名探鬼主播玩焰,決...
    沈念sama閱讀 40,468評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼芍锚!你這毒婦竟也來了昔园?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤并炮,失蹤者是張志新(化名)和其女友劉穎默刚,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體逃魄,經(jīng)...
    沈念sama閱讀 45,850評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡荤西,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,002評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了伍俘。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片邪锌。...
    茶點故事閱讀 40,144評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖癌瘾,靈堂內(nèi)的尸體忽然破棺而出觅丰,到底是詐尸還是另有隱情,我是刑警寧澤妨退,帶...
    沈念sama閱讀 35,823評論 5 346
  • 正文 年R本政府宣布妇萄,位于F島的核電站蜕企,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏冠句。R本人自食惡果不足惜轻掩,卻給世界環(huán)境...
    茶點故事閱讀 41,483評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望懦底。 院中可真熱鬧放典,春花似錦、人聲如沸基茵。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽拱层。三九已至,卻和暖如春宴咧,著一層夾襖步出監(jiān)牢的瞬間根灯,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評論 1 272
  • 我被黑心中介騙來泰國打工掺栅, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留烙肺,地道東北人。 一個月前我還...
    沈念sama閱讀 48,415評論 3 373
  • 正文 我出身青樓氧卧,卻偏偏與公主長得像桃笙,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子沙绝,可洞房花燭夜當晚...
    茶點故事閱讀 45,092評論 2 355