專案

一般

配置概況

Master Node

新版本稱作「Control Plane」,主要管理節點會為整個K8s叢集做出全局決策,比如資源的調度、檢測和響應事件,例如當現有的POD資源並不滿足replicas字段時,會繼續創建新的pod。

管理節點中的以下元件可以在叢集中的任合節點上運行,然而實務上,我們會將這些元件(以容器方式安裝)集中放置在特定的一個或多個節點機器上,並且不會在上面安裝額外的客戶端容器,保持單純,以避免管理上可能發生的額外狀況。

kube-apiserver

以容器的方式提供服務,負責公開kubernetes API、處理接受請求的工作,設計上考慮了水平擴縮,也就是說他可以通過部署多個容器實例來進行擴縮,以乘載平衡流量。

kube-controller-manager

以容器的方式提供服務,負責管理從集中相關工作的控制器進程,以下只是一些控制器的例子:

  • Node Controller(節點控制器):負責在節點出現故障時進行通知響應
  • Job Controller(任務控制器):監測一次性任務的Job對象,然後創建Pods來運行這些任務,直到完成
  • EndpointSlice Controller(端點分片控制器):遷移端點分片對象(以提供Service和Pod之間的鏈接)
  • ServiceAccount Controller(服務帳號控制器):為新的命名空間創建默認的服務帳號(ServiceAccount)

kube-scheduler

以容器的方式提供服務,負責監視新創建、未指定運行節點的Pods,然後依照計畫決策安排Pods至相關的節點上面運行,調度決策考慮的因素包括一個或多個Pods的資源需求、軟硬體、親和性、數據位置、工作負載間的干擾以及策略約束

etcd

一致性和高可用的key-valuet儲存資料庫,作為K8s所有叢集數據的後台資料庫,請確保你針對這些數據有一份 備份 計畫。

回到頁首