Kubernetes核心概念


什么是Kubernetes聋丝?

Kubernetes(k8s)是自動化容器操作的開源平臺焕襟,這些操作包括部署,調(diào)度和節(jié)點集群間擴展势告。如果你曾經(jīng)用過Docker容器技術(shù)部署容器,那么可以將Docker看成Kubernetes內(nèi)部使用的低級別組件抚恒。Kubernetes不僅僅支持Docker咱台,還支持Rocket,這是另一種容器技術(shù)俭驮。

使用Kubernetes可以:

自動化容器的部署和復(fù)制

隨時擴展或收縮容器規(guī)模

將容器組織成組回溺,并且提供容器間的負載均衡

很容易地升級應(yīng)用程序容器的新版本

提供容器彈性,如果容器失效就替換它混萝,等等...

實際上遗遵,使用Kubernetes只需一個部署文件,使用一條命令就可以部署多層容器(前端譬圣,后臺等)的完整集群:

$?kubectl?create?-f?single-config-file.yaml

kubectl是和Kubernetes API交互的命令行程序∥凸В現(xiàn)在介紹一些核心概念。

集群

集群是一組節(jié)點厘熟,這些節(jié)點可以是物理服務(wù)器或者虛擬機屯蹦,之上安裝了Kubernetes平臺。下圖展示這樣的集群绳姨。注意該圖為了強調(diào)核心概念有所簡化登澜。這里可以看到一個典型的Kubernetes架構(gòu)圖。


Pod

Pod(上圖綠色方框)安排在節(jié)點上飘庄,包含一組容器和卷脑蠕。同一個Pod里的容器共享同一個網(wǎng)絡(luò)命名空間,可以使用localhost互相通信。Pod是短暫的谴仙,不是持續(xù)性實體迂求。你可能會有這些問題:

如果Pod是短暫的,那么我怎么才能持久化容器數(shù)據(jù)使其能夠跨重啟而存在呢晃跺? 是的揩局,Kubernetes支持的概念,因此可以使用持久化的卷類型掀虎。

是否手動創(chuàng)建Pod凌盯,如果想要創(chuàng)建同一個容器的多份拷貝,需要一個個分別創(chuàng)建出來么烹玉?可以手動創(chuàng)建單個Pod驰怎,但是也可以使用Replication Controller使用Pod模板創(chuàng)建出多份拷貝,下文會詳細介紹二打。

如果Pod是短暫的县忌,那么重啟時IP地址可能會改變,那么怎么才能從前端容器正確可靠地指向后臺容器呢址儒?這時可以使用Service芹枷,下文會詳細介紹。

Lable

正如圖所示莲趣,一些Pod有Label鸳慈。一個Label是attach到Pod的一對鍵/值對,用來傳遞用戶定義的屬性喧伞。比如走芋,你可能創(chuàng)建了一個"tier"和“app”標簽,通過Label(tier=frontend, app=myapp)來標記前端Pod容器潘鲫,使用Label(tier=backend, app=myapp)標記后臺Pod翁逞。然后可以使用Selectors選擇帶有特定Label的Pod,并且將Service或者Replication Controller應(yīng)用到上面溉仑。

Replication Controller

是否手動創(chuàng)建Pod挖函,如果想要創(chuàng)建同一個容器的多份拷貝,需要一個個分別創(chuàng)建出來么浊竟,能否將Pods劃到邏輯組里怨喘?

Replication Controller確保任意時間都有指定數(shù)量的Pod“副本”在運行。如果為某個Pod創(chuàng)建了Replication Controller并且指定3個副本振定,它會創(chuàng)建3個Pod必怜,并且持續(xù)監(jiān)控它們。如果某個Pod不響應(yīng)后频,那么Replication Controller會替換它梳庆。


如果之前不響應(yīng)的Pod恢復(fù)了暖途,現(xiàn)在就有4個Pod了,那么Replication Controller會將其中一個終止保持總數(shù)為3膏执。如果在運行中將副本總數(shù)改為5驻售,Replication Controller會立刻啟動2個新Pod,保證總數(shù)為5胧后。還可以按照這樣的方式縮小Pod芋浮,這個特性在執(zhí)行滾動升級時很有用。

當創(chuàng)建Replication Controller時壳快,需要指定兩個東西:

Pod模板:用來創(chuàng)建Pod副本的模板

Label:Replication Controller需要監(jiān)控的Pod的標簽。

現(xiàn)在已經(jīng)創(chuàng)建了Pod的一些副本镇草,那么在這些副本上如何均衡負載呢眶痰?我們需要的是Service。

Service

如果Pods是短暫的梯啤,那么重啟時IP地址可能會改變竖伯,怎么才能從前端容器正確可靠地指向后臺容器呢?

Service是定義一系列Pod以及訪問這些Pod的策略的一層抽象因宇。Service通過Label找到Pod組七婴。因為Service是抽象的,所以在圖表里通巢旎看不到它們的存在打厘,這也就讓這一概念更難以理解。

現(xiàn)在贺辰,假定有2個后臺Pod户盯,并且定義后臺Service的名稱為‘backend-service’,lable選擇器為(tier=backend, app=myapp)饲化。backend-service的Service會完成如下兩件重要的事情:

會為Service創(chuàng)建一個本地集群的DNS入口莽鸭,因此前端Pod只需要DNS查找主機名為 ‘backend-service’,就能夠解析出前端應(yīng)用程序可用的IP地址吃靠。

現(xiàn)在前端已經(jīng)得到了后臺服務(wù)的IP地址硫眨,但是它應(yīng)該訪問2個后臺Pod的哪一個呢?Service在這2個后臺Pod之間提供透明的負載均衡巢块,會將請求分發(fā)給其中的任意一個(如下面的動畫所示)礁阁。通過每個Node上運行的代理(kube-proxy)完成。這里有更多技術(shù)細節(jié)夕冲。

Node

節(jié)點(上圖橘色方框)是物理或者虛擬機器氮兵,作為Kubernetes worker,通常稱為Minion歹鱼。每個節(jié)點都運行如下Kubernetes關(guān)鍵組件:

Kubelet:是主節(jié)點代理泣栈。

Kube-proxy:Service使用其將鏈接路由到Pod,如上文所述。

Docker或Rocket:Kubernetes使用的容器技術(shù)來創(chuàng)建容器南片。

Kubernetes Master

集群擁有一個Kubernetes Master(紫色方框)掺涛。Kubernetes Master提供集群的獨特視角,并且擁有一系列組件疼进,比如Kubernetes API Server薪缆。API Server提供可以用來和集群交互的REST端點。master節(jié)點包括用來創(chuàng)建和復(fù)制Pod的Replication Controller伞广。


以上內(nèi)容摘自http://www.dockone.io/article/932拣帽。感謝分享!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末嚼锄,一起剝皮案震驚了整個濱河市减拭,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌区丑,老刑警劉巖拧粪,帶你破解...
    沈念sama閱讀 212,816評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異沧侥,居然都是意外死亡可霎,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評論 3 385
  • 文/潘曉璐 我一進店門宴杀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來癣朗,“玉大人,你說我怎么就攤上這事婴氮∷拱簦” “怎么了?”我有些...
    開封第一講書人閱讀 158,300評論 0 348
  • 文/不壞的土叔 我叫張陵主经,是天一觀的道長荣暮。 經(jīng)常有香客問我,道長罩驻,這世上最難降的妖魔是什么穗酥? 我笑而不...
    開封第一講書人閱讀 56,780評論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮惠遏,結(jié)果婚禮上砾跃,老公的妹妹穿的比我還像新娘。我一直安慰自己节吮,他們只是感情好抽高,可當我...
    茶點故事閱讀 65,890評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著透绩,像睡著了一般翘骂。 火紅的嫁衣襯著肌膚如雪壁熄。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,084評論 1 291
  • 那天碳竟,我揣著相機與錄音草丧,去河邊找鬼。 笑死莹桅,一個胖子當著我的面吹牛昌执,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播诈泼,決...
    沈念sama閱讀 39,151評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼懂拾,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了铐达?” 一聲冷哼從身側(cè)響起委粉,我...
    開封第一講書人閱讀 37,912評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎娶桦,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體汁汗,經(jīng)...
    沈念sama閱讀 44,355評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡衷畦,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,666評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了知牌。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片祈争。...
    茶點故事閱讀 38,809評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖角寸,靈堂內(nèi)的尸體忽然破棺而出菩混,到底是詐尸還是另有隱情,我是刑警寧澤扁藕,帶...
    沈念sama閱讀 34,504評論 4 334
  • 正文 年R本政府宣布沮峡,位于F島的核電站,受9級特大地震影響亿柑,放射性物質(zhì)發(fā)生泄漏邢疙。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,150評論 3 317
  • 文/蒙蒙 一望薄、第九天 我趴在偏房一處隱蔽的房頂上張望疟游。 院中可真熱鬧,春花似錦痕支、人聲如沸颁虐。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽另绩。三九已至儒陨,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間板熊,已是汗流浹背框全。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留干签,地道東北人津辩。 一個月前我還...
    沈念sama閱讀 46,628評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像容劳,于是被迫代替她去往敵國和親喘沿。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,724評論 2 351

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