Kubernetes 管理的一組機器稱為叢集,主要分成控制平面與工作節點。控制平面負責接收需求、保存狀態並協調工作;工作節點則提供運算資源,實際執行應用程式。學習環境可以把多種角色放在同一台機器,正式環境則通常需要另外規畫可用性。
API Server 是操作入口,kubectl 會透過它提交或查詢資源。etcd 保存叢集的重要設定與狀態;排程器為尚未安排的 Pod 選擇節點;控制器持續比較目標與現況,發現差異後採取行動。這些元件各有職責,不是由單一程式包辦所有事情。
每個工作節點上的 kubelet 會依照指定規格管理 Pod,並與容器執行環境合作啟動容器。節點還需要網路相關元件,讓不同位置的工作負載可以互相通訊。
理解這種分工有助於判斷故障。如果無法連上操作入口,應先檢查連線與控制平面;如果只有某個容器無法啟動,就要查看該工作負載和所在節點。下一篇將建立本機叢集,親眼確認這些角色的存在。
參考:叢集架構