Kubernetes系列(2)—— 深入理解Pod

我們知道横辆,容器編排是整個(gè)Kubernetes的核心所在,而Pod又是編排的核心所在龄糊,所以,理解好Pod炫惩,才能理解整個(gè)Kubernetes的編排。

下面我們重點(diǎn)對(duì)于Pod做個(gè)詳細(xì)的解析他嚷。


一.Docker簡(jiǎn)介

在詳細(xì)進(jìn)行Pod分析之前,有必要對(duì)Docker做個(gè)簡(jiǎn)要的歸納,因?yàn)閷?duì)于Kubernetes來(lái)說(shuō)卸耘,docker容器才是真正需要去管理的對(duì)象,離開了容器空談編排蚣抗,無(wú)異于空中樓閣。

那么我們首先來(lái)簡(jiǎn)單梳理一下容器&Docker相關(guān)的知識(shí)點(diǎn):

1.基本概念

? 直譯為“集裝箱”翰铡,作用在于將貨物打包,并且能夠做到相互隔離锭魔。

1. Kubernetes Container

????國(guó)內(nèi)有個(gè)高大上的譯名為“容器”,相信如果你周末報(bào)個(gè)小班迷捧,跟你女朋友說(shuō),我去學(xué)集裝箱漠秋。。巡社。

? 軟件開發(fā)/部署經(jīng)歷的3個(gè)階段:

物理機(jī)——VM——容器

物理機(jī)時(shí)代,很多人甚至很多團(tuán)隊(duì)共同使用一套開發(fā)環(huán)境晌该,這使得對(duì)于資源的使用經(jīng)常出現(xiàn)爭(zhēng)搶的情況,而且對(duì)于系統(tǒng)的配置會(huì)因?yàn)轫?xiàng)目需要經(jīng)常變更朝群,導(dǎo)致其他人員出現(xiàn)各種問(wèn)題。且一旦開發(fā)環(huán)境出現(xiàn)機(jī)器故障姜胖,需要一個(gè)很長(zhǎng)的修復(fù)時(shí)間,甚至需要整個(gè)環(huán)境重新配置右莱,嚴(yán)重情況下會(huì)出現(xiàn)數(shù)據(jù)丟失等等

VM時(shí)代,很好的解決了上述的物理機(jī)問(wèn)題慢蜓,將一臺(tái)物理機(jī)隔離開,每個(gè)人有獨(dú)立的工作空間晨抡,不會(huì)相互干擾氛悬,但是由于每個(gè)VM需要一個(gè)底層的操作系統(tǒng)支撐,導(dǎo)致我們每個(gè)物理機(jī)上能隔離開的VM不會(huì)太多如捅,一臺(tái)性能好的物理機(jī)能隔離出10幾個(gè)虛擬機(jī)已經(jīng)是很優(yōu)秀的配置了。

容器時(shí)代镜遣,Docker的出現(xiàn),很好的解決了VM對(duì)于操作系統(tǒng)強(qiáng)依賴的問(wèn)題悲关,Docker的隔離機(jī)制使得底層的操作系統(tǒng)在容器間可以共享,并且在共享操作系統(tǒng)的文件被修改時(shí)不會(huì)影響到不相干的容器坚洽。

2. Kubernetes VM VS Container

? Docker的架構(gòu)圖:

3. Kubernetes Docker Architecture

在Docker里面我們需要清楚3個(gè)重要的概念:

4. Kubernetes Container & Images

? Image(鏡像):?由文件系統(tǒng)疊加而成讶舰,最底端是一個(gè)文件引導(dǎo)系統(tǒng),即bootfs跳昼。Docker用戶不會(huì)與引導(dǎo)文件系統(tǒng)有直接的交互。Docker鏡像的第二層是root文件系統(tǒng)rootfs鹅颊,通常是一種或多種操作系統(tǒng),例如ubuntu等墓造。在Docker中,文件系統(tǒng)永遠(yuǎn)都是只讀的觅闽,在每次修改時(shí),都是進(jìn)行拷貝疊加從而形成最終的文件系統(tǒng)蛉拙。Docker稱這樣的文件為鏡像。

4. Kubernetes Image

鏡像的特征是:所有層都是只讀的孕锄,除了最底層,其他層都有一個(gè)指針指向下一層畸肆。

? Container(容器):定義和鏡像(image)幾乎一模一樣,也是一堆層的統(tǒng)一視角恼除,唯一區(qū)別在于容器的最上面那一層是可讀可寫的曼氛。

5. Kubernetes Container

? Repo(倉(cāng)庫(kù)):Docker官方維護(hù)一個(gè)Common的專門存放Image的倉(cāng)庫(kù),也可以創(chuàng)建自己的私有倉(cāng)庫(kù)用以保存自己的鏡像舀患。

6. Kubernetes Repo

2.常用指令:

? docker create <image-id>:用于創(chuàng)建容器,為指定的鏡像(image)添加了一個(gè)可讀寫層聊浅,構(gòu)成了一個(gè)新的容器。注意低匙,這個(gè)容器并沒(méi)有運(yùn)行。

? docker start <container-id>:為容器文件系統(tǒng)創(chuàng)建了一個(gè)進(jìn)程隔離空間碳锈。注意,每一個(gè)容器只能夠有一個(gè)進(jìn)程隔離空間售碳。

? docker run <image-id>:docker create +?docker start

? docker ps –a :列出所有存在的容器(運(yùn)行態(tài)和非運(yùn)行態(tài))

? docker images –a:列出了所有的鏡像,也可以說(shuō)是列出了所有的可讀層贸人。如果你想要查看某一個(gè)image-id下的所有層,可以使用docker history來(lái)查看艺智。

? docker commit <container-id>:將容器的可讀寫層轉(zhuǎn)換為一個(gè)只讀層,這樣就把一個(gè)容器轉(zhuǎn)換成了不可變的鏡像十拣。


二.Pod的基本用法

1.動(dòng)態(tài)創(chuàng)建Pod

在使用Docker時(shí),可以使用docker run命令創(chuàng)建并啟動(dòng)一個(gè)容器父晶,在Kubernetes系統(tǒng)里面哮缺,對(duì)于長(zhǎng)時(shí)間運(yùn)行的容器是有要求的:主程序需要一直在前臺(tái)執(zhí)行尝苇,如果我們?cè)赿ocker里啟用后臺(tái)執(zhí)行程序,那么在kublet創(chuàng)建包含這個(gè)容器的Pod之后運(yùn)行完該命令埠胖,即認(rèn)為Pod執(zhí)行結(jié)束,將立刻銷毀Pod直撤。一旦我們使用ReplicationController,則系統(tǒng)會(huì)監(jiān)測(cè)到Pod已經(jīng)終止谋竖,會(huì)根據(jù)Pod的replicas的副本數(shù)量生成一個(gè)新的Pod承匣,而一旦創(chuàng)建出新的Pod,就將在執(zhí)行完后臺(tái)啟動(dòng)命令后锤悄,陷入無(wú)限循環(huán)中。這就是Kubernetes需要我們自己創(chuàng)建的Docker鏡像以一個(gè)前臺(tái)命令作為啟動(dòng)命令的原因零聚。

Pod的基本用法為:

? Pod可以由1個(gè)或多個(gè)容器組合而成,例如:

7.kubernetes Pod(1個(gè)容器)

這個(gè)frontend Pod在啟動(dòng)成功以后,將啟動(dòng)一個(gè)Docker容器

? 另一個(gè)場(chǎng)景是隶症,當(dāng)frontend和redis兩個(gè)容器應(yīng)用為緊耦合關(guān)系時(shí),應(yīng)該組成一個(gè)整體對(duì)外提供服務(wù):配置文件為:test.yaml

8.kubernetes Pod(2個(gè)容器)

屬于一個(gè)Pod的多個(gè)容器應(yīng)用之間相互訪問(wèn)時(shí)僅需通過(guò)localhost就可以通信蚂会。也就是說(shuō),我們?cè)谌萜鱪ame:frontend的php網(wǎng)頁(yè)中嵌入:“l(fā)ocalhost:6379”即可以對(duì)redis-master進(jìn)行訪問(wèn)胁住。

運(yùn)行下列指令即可創(chuàng)建:

9.create pods

2.靜態(tài)Pod:

靜態(tài)Pod是由kublet進(jìn)行管理的僅存在于特定Node上的Pod,他們不能通過(guò)API S而ver進(jìn)行管理措嵌,無(wú)法與RC芦缰、Deployment進(jìn)行關(guān)聯(lián),并且kubelet無(wú)法對(duì)其進(jìn)行健康檢查让蕾。

創(chuàng)建靜態(tài)Pod有兩種方式:配置文件方式和Http方式,這邊不多做贅述~


三探孝、Pod容器共享Volume

在同一個(gè)Pod中多個(gè)容器能夠共享Pod級(jí)別的Volume。Volume可以被定義為各種類型顿颅,多個(gè)容器各自進(jìn)行掛載操作缸濒,將一個(gè)Volume掛載為容器內(nèi)部需要的目錄:

10.Pod中多個(gè)容器共享volume

此處設(shè)置的Volume名為app-logs,類型為emptyDir庇配,掛載到tomcat容器內(nèi)的/usr/local/tomcat/logs目錄,同時(shí)掛載到logreader容器內(nèi)的/log目錄绍些。如果tomcat往該volume下寫文件的同時(shí),logreader就可以開始讀取文件了柬批。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末袖订,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子洛姑,更是在濱河造成了極大的恐慌,老刑警劉巖旋恼,帶你破解...
    沈念sama閱讀 216,496評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異冰更,居然都是意外死亡产徊,警方通過(guò)查閱死者的電腦和手機(jī)蜀细,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)奠衔,“玉大人,你說(shuō)我怎么就攤上這事归斤∪玻” “怎么了脏里?”我有些...
    開封第一講書人閱讀 162,632評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)迫横。 經(jīng)常有香客問(wèn)我,道長(zhǎng)矾踱,這世上最難降的妖魔是什么恨狈? 我笑而不...
    開封第一講書人閱讀 58,180評(píng)論 1 292
  • 正文 為了忘掉前任禾怠,我火速辦了婚禮,結(jié)果婚禮上贝搁,老公的妹妹穿的比我還像新娘。我一直安慰自己徘公,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,198評(píng)論 6 388
  • 文/花漫 我一把揭開白布关面。 她就那樣靜靜地躺著十厢,像睡著了一般。 火紅的嫁衣襯著肌膚如雪捂齐。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,165評(píng)論 1 299
  • 那天奠宜,我揣著相機(jī)與錄音,去河邊找鬼压真。 笑死,一個(gè)胖子當(dāng)著我的面吹牛滴肿,可吹牛的內(nèi)容都是我干的岳悟。 我是一名探鬼主播泼差,決...
    沈念sama閱讀 40,052評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼堆缘!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起吼肥,我...
    開封第一講書人閱讀 38,910評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎潜沦,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體唆鸡,經(jīng)...
    沈念sama閱讀 45,324評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,542評(píng)論 2 332
  • 正文 我和宋清朗相戀三年争占,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片臂痕。...
    茶點(diǎn)故事閱讀 39,711評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖猿涨,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情叛赚,我是刑警寧澤稽揭,帶...
    沈念sama閱讀 35,424評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站溪掀,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏步鉴。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,017評(píng)論 3 326
  • 文/蒙蒙 一氛琢、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧艺沼,春花似錦册舞、人聲如沸障般。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至定拟,卻和暖如春于微,著一層夾襖步出監(jiān)牢的瞬間青自,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工延窜, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留恋腕,地道東北人逆瑞。 一個(gè)月前我還...
    沈念sama閱讀 47,722評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像获高,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子念秧,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,611評(píng)論 2 353

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