Kubernetes 組件

當(dāng)你部署完 Kubernetes, 即擁有了一個完整的集群误阻。

一個 Kubernetes 集群包含 集群由一組被稱作節(jié)點(diǎn)的機(jī)器組成。這些節(jié)點(diǎn)上運(yùn)行 Kubernetes 所管理的容器化應(yīng)用雪情。集群具有至少一個工作節(jié)點(diǎn)和至少一個主節(jié)點(diǎn)。

工作節(jié)點(diǎn)托管作為應(yīng)用程序組件的 Pod 俱诸。主節(jié)點(diǎn)管理集群中的工作節(jié)點(diǎn)和 Pod 瞻赶。多個主節(jié)點(diǎn)用于為集群提供故障轉(zhuǎn)移和高可用性。

這張圖表展示了包含所有相互關(guān)聯(lián)組件的 Kubernetes 集群埃叭。
image.png

控制平面組件(Control Plane Components)

控制平面的組件對集群做出全局決策(比如調(diào)度)摸恍,以及檢測和響應(yīng)集群事件(例如,當(dāng)不滿足部署的 replicas 字段時赤屋,啟動新的 pod)立镶。

控制平面組件可以在集群中的任何節(jié)點(diǎn)上運(yùn)行。然而益缎,為了簡單起見谜慌,設(shè)置腳本通常會在同一個計算機(jī)上啟動所有控制平面組件,并且不會在此計算機(jī)上運(yùn)行用戶容器莺奔。請參閱構(gòu)建高可用性集群中對于多主機(jī) VM 的設(shè)置示例欣范。

kube-apiserver

主節(jié)點(diǎn)上負(fù)責(zé)提供 Kubernetes API 服務(wù)的組件;它是 Kubernetes 控制面的前端令哟。

kube-apiserver 在設(shè)計上考慮了水平擴(kuò)縮的需要恼琼。 換言之,通過部署多個實(shí)例可以實(shí)現(xiàn)擴(kuò)縮屏富。 參見構(gòu)造高可用集群晴竞。

etcd

etcd 是兼具一致性和高可用性的鍵值數(shù)據(jù)庫,可以作為保存 Kubernetes 所有集群數(shù)據(jù)的后臺數(shù)據(jù)庫狠半。

您的 Kubernetes 集群的 etcd 數(shù)據(jù)庫通常需要有個備份計劃噩死。要了解 etcd 更深層次的信息,請參考 etcd 文檔神年。

kube-scheduler

主節(jié)點(diǎn)上的組件已维,該組件監(jiān)視那些新創(chuàng)建的未指定運(yùn)行節(jié)點(diǎn)的 Pod,并選擇節(jié)點(diǎn)讓 Pod 在上面運(yùn)行已日。

調(diào)度決策考慮的因素包括單個 Pod 和 Pod 集合的資源需求垛耳、硬件/軟件/策略約束、親和性和反親和性規(guī)范飘千、數(shù)據(jù)位置堂鲜、工作負(fù)載間的干擾和最后時限。

kube-controller-manager

在主節(jié)點(diǎn)上運(yùn)行控制器的組件护奈。

從邏輯上講缔莲,每個控制器都是一個單獨(dú)的進(jìn)程,但是為了降低復(fù)雜性霉旗,它們都被編譯到同一個可執(zhí)行文件痴奏,并在一個進(jìn)程中運(yùn)行磺箕。

這些控制器包括:

  • 節(jié)點(diǎn)控制器(Node Controller): 負(fù)責(zé)在節(jié)點(diǎn)出現(xiàn)故障時進(jìn)行通知和響應(yīng)。
  • 副本控制器(Replication Controller): 負(fù)責(zé)為系統(tǒng)中的每個副本控制器對象維護(hù)正確數(shù)量的 Pod抛虫。
  • 端點(diǎn)控制器(Endpoints Controller): 填充端點(diǎn)(Endpoints)對象(即加入 Service 與 Pod)松靡。
  • 服務(wù)帳戶和令牌控制器(Service Account & Token Controllers): 為新的命名空間創(chuàng)建默認(rèn)帳戶和 API 訪問令牌.

云控制器管理器-(cloud-controller-manager)

cloud-controller-manager 運(yùn)行與基礎(chǔ)云提供商交互的控制器。cloud-controller-manager 二進(jìn)制文件是 Kubernetes 1.6 版本中引入的 alpha 功能建椰。

cloud-controller-manager 僅運(yùn)行云提供商特定的控制器循環(huán)雕欺。您必須在 kube-controller-manager 中禁用這些控制器循環(huán),您可以通過在啟動 kube-controller-manager 時將 --cloud-provider 參數(shù)設(shè)置為 external 來禁用控制器循環(huán)棉姐。

cloud-controller-manager 允許云供應(yīng)商的代碼和 Kubernetes 代碼彼此獨(dú)立地發(fā)展屠列。在以前的版本中,核心的 Kubernetes 代碼依賴于特定云提供商的代碼來實(shí)現(xiàn)功能伞矩。在將來的版本中笛洛,云供應(yīng)商專有的代碼應(yīng)由云供應(yīng)商自己維護(hù),并與運(yùn)行 Kubernetes 的云控制器管理器相關(guān)聯(lián)乃坤。

以下控制器具有云提供商依賴性:

  • 節(jié)點(diǎn)控制器(Node Controller): 用于檢查云提供商以確定節(jié)點(diǎn)是否在云中停止響應(yīng)后被刪除
  • 路由控制器(Route Controller): 用于在底層云基礎(chǔ)架構(gòu)中設(shè)置路由
  • 服務(wù)控制器(Service Controller): 用于創(chuàng)建苛让、更新和刪除云提供商負(fù)載均衡器
  • 數(shù)據(jù)卷控制器(Volume Controller): 用于創(chuàng)建、附加和裝載卷湿诊、并與云提供商進(jìn)行交互以編排卷

Node 組件

節(jié)點(diǎn)組件在每個節(jié)點(diǎn)上運(yùn)行狱杰,維護(hù)運(yùn)行的 Pod 并提供 Kubernetes 運(yùn)行環(huán)境。

kubelet

一個在集群中每個節(jié)點(diǎn)上運(yùn)行的代理厅须。它保證容器都運(yùn)行在 Pod 中仿畸。

kubelet 接收一組通過各類機(jī)制提供給它的 PodSpecs,確保這些 PodSpecs 中描述的容器處于運(yùn)行狀態(tài)且健康朗和。kubelet 不會管理不是由 Kubernetes 創(chuàng)建的容器错沽。

kube-proxy

kube-proxy 是集群中每個節(jié)點(diǎn)上運(yùn)行的網(wǎng)絡(luò)代理,實(shí)現(xiàn) Kubernetes Service 概念的一部分。

kube-proxy 維護(hù)節(jié)點(diǎn)上的網(wǎng)絡(luò)規(guī)則眶拉。這些網(wǎng)絡(luò)規(guī)則允許從集群內(nèi)部或外部的網(wǎng)絡(luò)會話與 Pod 進(jìn)行網(wǎng)絡(luò)通信千埃。

如果操作系統(tǒng)提供了數(shù)據(jù)包過濾層并可用的話,kube-proxy會通過它來實(shí)現(xiàn)網(wǎng)絡(luò)規(guī)則镀层。否則镰禾,kube-proxy 僅轉(zhuǎn)發(fā)流量本身皿曲。

容器運(yùn)行環(huán)境(Container Runtime)

容器運(yùn)行環(huán)境是負(fù)責(zé)運(yùn)行容器的軟件唱逢。

Kubernetes 支持多個容器運(yùn)行環(huán)境: Dockercontainerd屋休、cri-o坞古、 rktlet 以及任何實(shí)現(xiàn) Kubernetes CRI (容器運(yùn)行環(huán)境接口)椭迎。

插件(Addons)

插件使用 Kubernetes 資源 (DaemonSet, Deployment等) 實(shí)現(xiàn)集群功能揩局。因?yàn)檫@些提供集群級別的功能,所以插件的命名空間資源屬于 kube-system 命名空間凹髓。

所選的插件如下所述:有關(guān)可用插件的擴(kuò)展列表,請參見插件 (Addons)奶陈。

DNS

盡管并非嚴(yán)格要求其他附加組件易阳,但所有示例都依賴集群 DNS,因此所有 Kubernetes 集群都應(yīng)具有 DNS吃粒。

除了您環(huán)境中的其他 DNS 服務(wù)器之外潦俺,集群 DNS 還是一個 DNS 服務(wù)器,它為 Kubernetes 服務(wù)提供 DNS 記錄徐勃。

Cluster DNS 是一個 DNS 服務(wù)器事示,和您部署環(huán)境中的其他 DNS 服務(wù)器一起工作,為 Kubernetes 服務(wù)提供DNS記錄僻肖。

Kubernetes 啟動的容器自動將 DNS 服務(wù)器包含在 DNS 搜索中肖爵。

用戶界面(Dashboard)

Dashboard 是 Kubernetes 集群的通用基于 Web 的 UI。它使用戶可以管理集群中運(yùn)行的應(yīng)用程序以及集群本身并進(jìn)行故障排除臀脏。

容器資源監(jiān)控

容器資源監(jiān)控將關(guān)于容器的一些常見的時間序列度量值保存到一個集中的數(shù)據(jù)庫中劝堪,并提供用于瀏覽這些數(shù)據(jù)的界面。

集群層面日志

集群層面日志 機(jī)制負(fù)責(zé)將容器的日志數(shù)據(jù)保存到一個集中的日志存儲中揉稚,該存儲能夠提供搜索和瀏覽接口幅聘。

A Kubernetes cluster consists of 集群由一組被稱作節(jié)點(diǎn)的機(jī)器組成。這些節(jié)點(diǎn)上運(yùn)行 Kubernetes 所管理的容器化應(yīng)用窃植。集群具有至少一個工作節(jié)點(diǎn)和至少一個主節(jié)點(diǎn)帝蒿。

工作節(jié)點(diǎn)托管作為應(yīng)用程序組件的 Pod 。主節(jié)點(diǎn)管理集群中的工作節(jié)點(diǎn)和 Pod 巷怜。多個主節(jié)點(diǎn)用于為集群提供故障轉(zhuǎn)移和高可用性葛超。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市延塑,隨后出現(xiàn)的幾起案子绣张,更是在濱河造成了極大的恐慌,老刑警劉巖关带,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件侥涵,死亡現(xiàn)場離奇詭異,居然都是意外死亡宋雏,警方通過查閱死者的電腦和手機(jī)芜飘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來磨总,“玉大人嗦明,你說我怎么就攤上這事◎窖啵” “怎么了娶牌?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵奔浅,是天一觀的道長。 經(jīng)常有香客問我诗良,道長汹桦,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任鉴裹,我火速辦了婚禮营勤,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘壹罚。我一直安慰自己葛作,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布猖凛。 她就那樣靜靜地躺著赂蠢,像睡著了一般。 火紅的嫁衣襯著肌膚如雪辨泳。 梳的紋絲不亂的頭發(fā)上虱岂,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天,我揣著相機(jī)與錄音菠红,去河邊找鬼第岖。 笑死,一個胖子當(dāng)著我的面吹牛试溯,可吹牛的內(nèi)容都是我干的蔑滓。 我是一名探鬼主播,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼遇绞,長吁一口氣:“原來是場噩夢啊……” “哼键袱!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起摹闽,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤蹄咖,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后付鹿,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體澜汤,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年舵匾,在試婚紗的時候發(fā)現(xiàn)自己被綠了俊抵。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡纽匙,死狀恐怖务蝠,靈堂內(nèi)的尸體忽然破棺而出拍谐,到底是詐尸還是另有隱情烛缔,我是刑警寧澤馏段,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站践瓷,受9級特大地震影響院喜,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜晕翠,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一喷舀、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧淋肾,春花似錦硫麻、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至碌尔,卻和暖如春浇辜,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背唾戚。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工柳洋, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人叹坦。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓熊镣,卻偏偏與公主長得像,于是被迫代替她去往敵國和親募书。 傳聞我的和親對象是個殘疾皇子轧钓,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評論 2 353