您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關kubernetes架構設計是怎么樣的,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
一.kubernetes集群包含有節點代理kubelet和master組件(APIs, Scheduler, ect.)。一切都基于分布式的存儲系統。
二.kubernetes集群架構圖:
解析:
1.在這張系統架構圖中,把服務分為運行在工作節點上的服務和組成集群級別控制板的服務。
2.kubernetes節點有運行應用容器必備的服務,而這些都是受master控制的。
3.docker是每個節點運行的基礎,docker負責所有具體的鏡像的下載和容器的運行。
4.kubernetes主要由以下幾個核心組件組成:
a.etcd保存了整個集群的狀態;
b.apiserver提供了資源操作的唯一入口,并提供認證、授權、訪問控制、API注冊和發現等機制;
c.controller manager負責維護集群的狀態,如:故障檢測、自動擴展、滾動更新等;
d.scheduler負責資源調度,按照預定的調度策略將Pod調度到相應的機器上;
e.kubelet負責維護容器的生命周期,同時也負責Volume(CVI)和網絡(CNI)的管理;
f.Container runtime負責鏡像管理及Pod和容器的真正運行;
g.kube-proxy負責為Service提供cluster內部的服務發現和負載均衡;
5.kubernetes的相關推薦的附加組件:
a.kube-dns負責為整個集群提供DNS服務;
b.Ingress-controller為服務提供外網入口;
c.Heapter提供資源監控;
d.Dashboard提供GUI;
e.Federation提供跨可用區的集群;
f.Fluentd-elasticsearch提供集群日志采集、存儲與查詢
三、分層架構
kubernetes的設計理念和功能其實就是一個類似linux的分層架構,如下圖:
1.核心層:kubernetes最核心的功能,對外提供API構建高層應用,對內提供插件式應用執行環境.
2.應用層:部署(無狀態應用、有狀態應用、批處理任務、集群應用等)和路由(服務發現、DNS解析等).
3.管理層:系統度量(如基礎設施、容器和網絡的度量),自動化(如自動擴展、動態provision等),以及策略管理(RBAC、Quota、PSP、Network policy etc.).
4.接口層:kubelet命令行工具、客戶端SDK、集群.
5.生態系統:在接口層之上的龐大容器集群管理調度生態系統,可以劃分為兩個范疇:
a.kubenetes外部:日志、監控、配置管理、CI、CD、Workflow、FaaS、OTS應用、ChatOps等
b.kubenetes內部:CRI、CNI、CVI、鏡像倉庫、Cloud Provider、集群自身的配置和管理等
四、kubelet
kubelet負責管理Pods和它們上面的容器、images鏡像、volumes、etc.
五、kube-proxy
每個節點也運行一個簡單的網絡代理和負載均衡。服務端點目前 是通過DNS或者環境變量,這些變量是用由服務代理所管理的端口來解析的。
六、kubenetes控制面板
kubenetes控制面板可以分為多個部分。目前它們都運行在一個master節點,為了達到高可用性,這需要改變,由不同部分一起協作提供一個統一的關于集群的視圖。
七、etcd
所有master的持續狀態都存在etcd的一個實例中。這可以很好地存儲配置數據。因為有watch的支持,各部件協調中的改變都可以很快被察覺。
八、kubernetes API Server
API服務提供Kubernetes API的服務。這個服務試圖通過把所有或者大部分的業務邏輯放到不止兩只的部件中從而使其具有CRUD特性。它主要處理REST操作,在etcd中驗證更新這些對象并最終存儲。
九、scheduler
調度器把未調度的pod通過binding api綁定到節點上。調度器是可插拔可,并且支持多集群的調度,未來可能支持用戶自定義的調度器。
十、kubenetes控制管理服務器
所有其它的集群級別的功能目前都是由控制管理器負責。如,端點對象是被端點控制器來更新。這些最終可分隔成不同的部件來讓它們獨自的可插拔。
replication controller是一種建立于簡單的podAPI之上的一種機制。它最終將變成一種通用的插件機制。
關于“kubernetes架構設計是怎么樣的”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。