溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

kubernetes架構(gòu)設(shè)計是怎么樣的

發(fā)布時間:2021-12-24 15:53:14 來源:億速云 閱讀:103 作者:小新 欄目:云計算

這篇文章將為大家詳細講解有關(guān)kubernetes架構(gòu)設(shè)計是怎么樣的,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

一.kubernetes集群包含有節(jié)點代理kubelet和master組件(APIs, Scheduler, ect.)。一切都基于分布式的存儲系統(tǒng)。

二.kubernetes集群架構(gòu)圖:

kubernetes架構(gòu)設(shè)計是怎么樣的

解析:

1.在這張系統(tǒng)架構(gòu)圖中,把服務(wù)分為運行在工作節(jié)點上的服務(wù)和組成集群級別控制板的服務(wù)。

2.kubernetes節(jié)點有運行應(yīng)用容器必備的服務(wù),而這些都是受master控制的。

3.docker是每個節(jié)點運行的基礎(chǔ),docker負責所有具體的鏡像的下載和容器的運行。

4.kubernetes主要由以下幾個核心組件組成:

a.etcd保存了整個集群的狀態(tài);

b.apiserver提供了資源操作的唯一入口,并提供認證、授權(quán)、訪問控制、API注冊和發(fā)現(xiàn)等機制;

c.controller manager負責維護集群的狀態(tài),如:故障檢測、自動擴展、滾動更新等;

d.scheduler負責資源調(diào)度,按照預(yù)定的調(diào)度策略將Pod調(diào)度到相應(yīng)的機器上;

e.kubelet負責維護容器的生命周期,同時也負責Volume(CVI)和網(wǎng)絡(luò)(CNI)的管理;

f.Container runtime負責鏡像管理及Pod和容器的真正運行;

g.kube-proxy負責為Service提供cluster內(nèi)部的服務(wù)發(fā)現(xiàn)和負載均衡;

5.kubernetes的相關(guān)推薦的附加組件:

a.kube-dns負責為整個集群提供DNS服務(wù);

b.Ingress-controller為服務(wù)提供外網(wǎng)入口;

c.Heapter提供資源監(jiān)控;

d.Dashboard提供GUI;

e.Federation提供跨可用區(qū)的集群;

f.Fluentd-elasticsearch提供集群日志采集、存儲與查詢

kubernetes架構(gòu)設(shè)計是怎么樣的

kubernetes架構(gòu)設(shè)計是怎么樣的

三、分層架構(gòu)

kubernetes的設(shè)計理念和功能其實就是一個類似linux的分層架構(gòu),如下圖:

kubernetes架構(gòu)設(shè)計是怎么樣的

1.核心層:kubernetes最核心的功能,對外提供API構(gòu)建高層應(yīng)用,對內(nèi)提供插件式應(yīng)用執(zhí)行環(huán)境.

2.應(yīng)用層:部署(無狀態(tài)應(yīng)用、有狀態(tài)應(yīng)用、批處理任務(wù)、集群應(yīng)用等)和路由(服務(wù)發(fā)現(xiàn)、DNS解析等).

3.管理層:系統(tǒng)度量(如基礎(chǔ)設(shè)施、容器和網(wǎng)絡(luò)的度量),自動化(如自動擴展、動態(tài)provision等),以及策略管理(RBAC、Quota、PSP、Network policy etc.).

4.接口層:kubelet命令行工具、客戶端SDK、集群.

5.生態(tài)系統(tǒng):在接口層之上的龐大容器集群管理調(diào)度生態(tài)系統(tǒng),可以劃分為兩個范疇:

        a.kubenetes外部:日志、監(jiān)控、配置管理、CI、CD、Workflow、FaaS、OTS應(yīng)用、ChatOps等

        b.kubenetes內(nèi)部:CRI、CNI、CVI、鏡像倉庫、Cloud Provider、集群自身的配置和管理等

四、kubelet

kubelet負責管理Pods和它們上面的容器、images鏡像、volumes、etc.

五、kube-proxy

每個節(jié)點也運行一個簡單的網(wǎng)絡(luò)代理和負載均衡。服務(wù)端點目前 是通過DNS或者環(huán)境變量,這些變量是用由服務(wù)代理所管理的端口來解析的。

六、kubenetes控制面板

kubenetes控制面板可以分為多個部分。目前它們都運行在一個master節(jié)點,為了達到高可用性,這需要改變,由不同部分一起協(xié)作提供一個統(tǒng)一的關(guān)于集群的視圖。

七、etcd

所有master的持續(xù)狀態(tài)都存在etcd的一個實例中。這可以很好地存儲配置數(shù)據(jù)。因為有watch的支持,各部件協(xié)調(diào)中的改變都可以很快被察覺。

八、kubernetes API Server

API服務(wù)提供Kubernetes API的服務(wù)。這個服務(wù)試圖通過把所有或者大部分的業(yè)務(wù)邏輯放到不止兩只的部件中從而使其具有CRUD特性。它主要處理REST操作,在etcd中驗證更新這些對象并最終存儲。

九、scheduler

調(diào)度器把未調(diào)度的pod通過binding api綁定到節(jié)點上。調(diào)度器是可插拔可,并且支持多集群的調(diào)度,未來可能支持用戶自定義的調(diào)度器。

十、kubenetes控制管理服務(wù)器

所有其它的集群級別的功能目前都是由控制管理器負責。如,端點對象是被端點控制器來更新。這些最終可分隔成不同的部件來讓它們獨自的可插拔。

replication controller是一種建立于簡單的podAPI之上的一種機制。它最終將變成一種通用的插件機制。

關(guān)于“kubernetes架構(gòu)設(shè)計是怎么樣的”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI