官术网_书友最值得收藏!

1.2 Kubernetes架構(gòu)圖

Kubernetes系統(tǒng)用于管理分布式節(jié)點(diǎn)集群中的微服務(wù)或容器化應(yīng)用程序,并且其提供了零停機(jī)時(shí)間部署、自動(dòng)回滾、縮放和容器的自愈(其中包括自動(dòng)配置、自動(dòng)重啟、自動(dòng)復(fù)制的高彈性基礎(chǔ)設(shè)施,以及容器的自動(dòng)縮放等)等功能。

Kubernetes系統(tǒng)最重要的設(shè)計(jì)因素之一是能夠橫向擴(kuò)展,即調(diào)整應(yīng)用程序的副本數(shù)以提高可用性。設(shè)計(jì)一套大型系統(tǒng),且保證其運(yùn)行時(shí)健壯、可擴(kuò)展、可移植和非常具有挑戰(zhàn)性,尤其是在系統(tǒng)復(fù)雜度增加時(shí),系統(tǒng)的體系結(jié)構(gòu)會(huì)直接影響其運(yùn)行方式、對(duì)環(huán)境的依賴程度及相關(guān)組件的耦合程度。

微服務(wù)是一種軟件設(shè)計(jì)模式,適用于集群上的可擴(kuò)展部署。開(kāi)發(fā)人員使用這一模式能夠創(chuàng)建小型、可組合的應(yīng)用程序,通過(guò)定義良好的HTTP REST API接口進(jìn)行通信。Kubernetes也是遵循微服務(wù)架構(gòu)模式的程序,具有彈性、可觀察性和管理功能,可以適應(yīng)云平臺(tái)的需求。

Kubernetes的系統(tǒng)架構(gòu)設(shè)計(jì)與Borg的系統(tǒng)架構(gòu)設(shè)計(jì)理念非常相似,如Scheduler調(diào)度器、Pod資源對(duì)象管理等。Kubernetes總架構(gòu)圖如圖1-1所示。

圖1-1 Kubernetes總架構(gòu)圖

Kubernetes系統(tǒng)架構(gòu)遵循客戶端/服務(wù)端(C/S)架構(gòu),系統(tǒng)架構(gòu)分為Master和Node兩部分,Master作為服務(wù)端,Node作為客戶端。Kubernetes系統(tǒng)具有多個(gè)Master服務(wù)端,可以實(shí)現(xiàn)高可用。在默認(rèn)的情況下,一個(gè)Master服務(wù)端即可完成所有工作。

Master服務(wù)端也被稱為主控節(jié)點(diǎn),它在集群中主要負(fù)責(zé)如下任務(wù)。

(1)集群的“大腦”,負(fù)責(zé)管理所有節(jié)點(diǎn)(Node)。

(2)負(fù)責(zé)調(diào)度Pod在哪些節(jié)點(diǎn)上運(yùn)行。

(3)負(fù)責(zé)控制集群運(yùn)行過(guò)程中的所有狀態(tài)。

Node客戶端也被稱為工作節(jié)點(diǎn),它在集群中主要負(fù)責(zé)如下任務(wù)。

(1)負(fù)責(zé)管理所有容器(Container)。

(2)負(fù)責(zé)監(jiān)控/上報(bào)所有Pod的運(yùn)行狀態(tài)。

Master服務(wù)端(主控節(jié)點(diǎn))主要負(fù)責(zé)管理和控制整個(gè)Kubernetes集群,對(duì)集群做出全局性決策,相當(dāng)于整個(gè)集群的“大腦”。集群所執(zhí)行的所有控制命令都由Master服務(wù)端接收并處理。Master服務(wù)端主要包含如下組件。

kube-apiserver組件:集群的HTTP REST API接口,是集群控制的入口。

kube-controller-manager組件:集群中所有資源對(duì)象的自動(dòng)化控制中心。

kube-scheduler組件:集群中Pod資源對(duì)象的調(diào)度服務(wù)。

Node客戶端(工作節(jié)點(diǎn))是Kubernetes集群中的工作節(jié)點(diǎn),Node節(jié)點(diǎn)上的工作由Master服務(wù)端進(jìn)行分配,比如當(dāng)某個(gè)Node節(jié)點(diǎn)宕機(jī)時(shí),Master節(jié)點(diǎn)會(huì)將其上面的工作轉(zhuǎn)移到其他Node節(jié)點(diǎn)上。Node節(jié)點(diǎn)主要包含如下組件。

kubelet組件:負(fù)責(zé)管理節(jié)點(diǎn)上容器的創(chuàng)建、刪除、啟停等任務(wù),與Master節(jié)點(diǎn)進(jìn)行通信。

kube-proxy組件:負(fù)責(zé)Kubernetes服務(wù)的通信及負(fù)載均衡服務(wù)。

container組件:負(fù)責(zé)容器的基礎(chǔ)管理服務(wù),接收kubelet組件的指令。

下面讓我們深入了解每個(gè)節(jié)點(diǎn)上運(yùn)行的組件。

主站蜘蛛池模板: 尚义县| 阿坝县| 上蔡县| 三台县| 新河县| 贵溪市| 会同县| 民乐县| 东港市| 青阳县| 高安市| 岳普湖县| 洛阳市| 新丰县| 仁化县| 来安县| 泰宁县| 建阳市| 长岭县| 突泉县| 左权县| 安新县| 泾川县| 宁津县| 陆丰市| 扎赉特旗| 钟祥市| 温泉县| 衡山县| 左权县| 汝南县| 林周县| 永嘉县| 林周县| 古交市| 启东市| 惠水县| 阜平县| 古田县| 永修县| 洛宁县|