K8s Master node Component 介紹

當透過 minikube 完成 Local K8s 環境建置後,下指令:kubectl get componentstatuses 可查看到 K8s 三個主要狠角色。

[user@minikube ~]$ kubectl get componentstatuses
NAME                 STATUS    MESSAGE              ERROR
controller-manager   Healthy   ok
scheduler            Healthy   ok
etcd-0               Healthy   {"health": "true"}

Master node component 介紹

Controller-manager

  • 負責管理叢集內運作狀態的控制器。

  • 其最主要運作目標:確保K8s運作良好,頭好壯壯健康程度100%。

  • 管理範疇包含 node\repilication object\endpoints object\service account\API Token\NameSpace。

Kubernetes 建置與執行 書中P.5內容,有敘述著 K8s 是具有自我修復性的系統,這就是 Controller-manager 最大的目的所在。

Scheduler

  • 負責調度 pod 要在哪個 node 上運作,調度會依據叢集資源調度策略,透過調度演算而決定 pod 運行在哪些 node 上。

  • 具體的說~ scheduler 是 K8s 集群系統中運行的調度程序,負責收集、統計及分析叢集中所有節點的資源狀態,而後依此決定將新的 pod 選擇出在適當的 node 上運行服務。

etcd-0

  • etcd-0:儲存叢集內所有的資料,即是所謂的資料儲存庫;是Key / value 資料型態。

上述三項,都是運行在 Master node 上的三大角色,但別忽略了一件事情,起始一個新服務,是誰驅動(調用)這三個角色?

是「Kube-apiserver」

  • Master node 本身具有 Kube-apiserver 服務,其角色就是扮演 Master gateway~

  • 對外,提供 kubectl client 給予資源操作入口。

  • 對內,起於服務需求驅動 K8s node 完成服務建置。

說明參考頁: https://kubernetes.io/docs/concepts/overview/components/#master-components Kubernetes 建置與執行 書中P.30內容

Last updated