K8S基礎(chǔ)知識(shí)-K8S的架構(gòu)

1.Kubernetes(K8S)架構(gòu)

? K8S的目標(biāo)旨在消除編排物理/虛擬計(jì)算,網(wǎng)絡(luò)和存儲(chǔ)基礎(chǔ)設(shè)施的負(fù)擔(dān),并使應(yīng)用程序運(yùn)營(yíng)商和開發(fā)人員完全將重點(diǎn)放在以容器為中心的原語(yǔ)上進(jìn)行自助運(yùn)營(yíng)。Kubernetes 也提供穩(wěn)定、兼容的基礎(chǔ)(平臺(tái)),用于構(gòu)建定制化的workflows 和更高級(jí)的自動(dòng)化任務(wù)。 Kubernetes 具備完善的集群管理能力,包括多層次的安全防護(hù)和準(zhǔn)入機(jī)制、多租戶應(yīng)用支撐能力、透明的服務(wù)注冊(cè)和服務(wù)發(fā)現(xiàn)機(jī)制、內(nèi)建負(fù)載均衡器、故障發(fā)現(xiàn)和自我修復(fù)能力、服務(wù)滾動(dòng)升級(jí)和在線擴(kuò)容、可擴(kuò)展的資源自動(dòng)調(diào)度機(jī)制、多粒度的資源配額管理能力。

K8S架構(gòu)圖

圖片 - Kubernetes架構(gòu)

核心組件(1-4屬于master,5-7屬于Nodes):
? ? 1.etcd保存了整個(gè)集群的狀態(tài);
? ? 2.apiserver提供了資源操作的唯一入口,并提供認(rèn)證、授權(quán)、訪問(wèn)控制、API注冊(cè)和發(fā)現(xiàn)等機(jī)制;
? ? 3.controller manager負(fù)責(zé)維護(hù)集群的狀態(tài),比如故障檢測(cè)、自動(dòng)擴(kuò)展、滾動(dòng)更新等;
? ? 4.scheduler負(fù)責(zé)資源的調(diào)度,按照預(yù)定的調(diào)度策略將Pod調(diào)度到相應(yīng)的機(jī)器上;
? ? 5.kubelet負(fù)責(zé)維護(hù)容器的生命周期,同時(shí)也負(fù)責(zé)Volume(CSI)和網(wǎng)絡(luò)(CNI)的管理;
? ? 6.Container runtime負(fù)責(zé)鏡像管理以及Pod和容器的真正運(yùn)行(CRI);
? ? 7.kube-proxy負(fù)責(zé)為Service提供cluster內(nèi)部的服務(wù)發(fā)現(xiàn)和負(fù)載均衡;
常用插件:
????CoreDNS負(fù)責(zé)為整個(gè)集群提供DNS服務(wù)
????Ingress Controller為服務(wù)提供外網(wǎng)入口
????Prometheus提供資源監(jiān)控
????Dashboard提供GUI
????Federation提供跨可用區(qū)的集群


圖片 - Kuberentes架構(gòu)

更抽象一點(diǎn)的架構(gòu)圖

K8S架構(gòu)圖

圖片 - kubernetes整體架構(gòu)示意圖

K8S Master架構(gòu)

etcd保存了整個(gè)集群的狀態(tài);
apiserver提供了資源操作的唯一入口,并提供認(rèn)證、授權(quán)、訪問(wèn)控制、API注冊(cè)和發(fā)現(xiàn)等機(jī)制;
controller manager負(fù)責(zé)維護(hù)集群的狀態(tài),比如故障檢測(cè)、自動(dòng)擴(kuò)展、滾動(dòng)更新等;
scheduler負(fù)責(zé)資源的調(diào)度,按照預(yù)定的調(diào)度策略將Pod調(diào)度到相應(yīng)的機(jī)器上;

K8S Master架構(gòu)

Node架構(gòu)

kubernetes node架構(gòu)示意圖

K8S的分層設(shè)計(jì)理念

Kubernetes設(shè)計(jì)理念和功能類似Linux的分層架構(gòu),如下圖

分層架構(gòu)示意圖

核心層:Kubernetes最核心的功能,對(duì)外提供API構(gòu)建高層的應(yīng)用,對(duì)內(nèi)提供插件式應(yīng)用執(zhí)行環(huán)境
應(yīng)用層:部署(無(wú)狀態(tài)應(yīng)用、有狀態(tài)應(yīng)用、批處理任務(wù)、集群應(yīng)用等)和路由(服務(wù)發(fā)現(xiàn)、DNS解析等)
管理層:系統(tǒng)度量(如基礎(chǔ)設(shè)施、容器和網(wǎng)絡(luò)的度量),自動(dòng)化(如自動(dòng)擴(kuò)展、動(dòng)態(tài)Provision等)以及策略管理(RBAC、Quota、PSP、NetworkPolicy等)
接口層:kubectl命令行工具、客戶端SDK以及集群聯(lián)邦
生態(tài)系統(tǒng):在接口層之上的龐大容器集群管理調(diào)度的生態(tài)系統(tǒng),可以劃分為兩個(gè)范疇:
????Kubernetes外部:日志、監(jiān)控、配置管理、CI、CD、Workflow、FaaS、OTS應(yīng)用、ChatOps等
????Kubernetes內(nèi)部:CRI、CNI、CVI、鏡像倉(cāng)庫(kù)、Cloud Provider、集群自身的配置和管理等

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容