1. 程式人生 > >淺談k8s:k8s部署架構以及工作原理

淺談k8s:k8s部署架構以及工作原理

uber blog net clust RoCE manage service pro cto

對於每個想落地kubernetes應用的工程師來說,熟悉kubernetes的架構和工作原理是必經之路,也是必須知道的知識,只有了解kubernetes的架構和工作原理才能更好的應用kubernetes!

kubernetes架構

Kubernetes最初源於谷歌內部的Borg,提供了面向應用的容器集群部署和管理系統,所以整體的架構和borg很相似,整個架構有api server,control manager,scheduler,etcd,kubelet,kube-proxy,network-plugin等相關組件完成,整體架構如下:

技術分享圖片

其中

Api server,Control manager,Scheduler,Etcd屬於master節點,相關組件功能如下:

1.Etcd保存了整個集群的狀態;

2.Apiserver提供了資源操作的唯一入口,並提供認證、授權、訪問控制、API註冊和發現等機制;

3.Controller manager負責維護集群的狀態,比如故障檢測、自動擴展、滾動更新等;

4.Scheduler負責資源的調度,按照預定的調度策略將Pod調度到相應的機器上;

Kubelet,Container runtine,Kube-proxy屬於woker節點,相關組件功能如下:

kubelet負責維護容器的生命周期,同時也負責Volume(CSI)和網絡(CNI)的管理;

Container runtime負責鏡像管理以及Pod和容器的真正運行(CRI);

kube-proxy負責為Service提供cluster內部的服務發現和負載均衡;

淺談k8s:k8s部署架構以及工作原理