天天看點

Kubernetes核心元件介紹

Kubernetes核心元件介紹

Kubernetes master核心元件介紹

Master元件提供叢集的管理控制中心。通常在一台VM/機器上啟動所有Master元件,并且不會在此VM/機器上運作使用者容器。

kube-apiserver 用于暴露Kubernetes API。任何的資源請求/調用操作都是通過kube-apiserver提供的接口進行;

ETCD 是Kubernetes提供預設的存儲系統,儲存所有叢集資料,使用時需要為etcd資料提供備份計劃;

kube-controller-manager 運作管理控制器,它們是叢集中處理正常任務的背景線程;一個資源對應一個控制器。這些控制器包括:

節點 (Node)控制器

副本(Replication)控制器:負責維護系統中每個副本中的pod。

端點(Endpoints)控制器:填充Endpoints對象(即連接配接Services&Pods)。

Service Account和Token控制器:為新的Namespaces建立預設帳戶通路API Token。

kube-scheduler 節點排程,監視新建立沒有配置設定到Node的Pod,為Pod選擇一個Node;

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

kube-proxy 通過在主機上維護網絡規則并執行連接配接轉發來實作service(Iptables/ipvs);

Container Runtime 負責鏡像管理以及Pod和容器的真正運作(Docker/Rkt/Pouch/Kata)

Kubernetes node 核心元件介紹

節點元件運作在Node,提供Kubernetes運作時環境,以及維護Pod。

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

kube-proxy通過在主機上維護網絡規則并執行連接配接轉發來實作service(Iptables/ipvs);

Container Runtime負責鏡像管理以及Pod和容器的真正運作(Docker/Rkt/Pouch/Kata)

除了核心元件,還有一些推薦的Add-ons:

coredns/kube-dns負責為整個叢集提供DNS服務,kube-dns最新版本被棄用了。

Ingress對外提供七層服務的通路

Heapster/metries-server提供資源監控,Heapster最新版本被棄用了。

Dashboard提供GUI

Federation提供跨可用區的叢集

Fluentd-elasticsearch提供叢集日志采集、存儲與查詢

繼續閱讀