跳至主要内容

Kubernetes 架構與核心元件

Kubernetes 的架構主要分為兩大區塊:

  • Control Plane(控制平面):負責整體叢集的管理與協調。
  • Node / Worker Nodes(工作節點):實際執行容器與工作負載的地方。

架構總覽圖

Kubernetes Architecture

圖中可以看到 Control Plane 與多個 Worker Node 之間的關係,以及各元件如何協作。


Control Plane(控制平面)

Control Plane 負責整體叢集的狀態管理、排程與協調,是 Kubernetes 的「大腦」。

元件功能說明
API Server所有操作的入口,接收 kubectl 或其他系統的指令,提供 RESTful API。
etcd分散式鍵值資料庫,儲存叢集的所有狀態(如 Node、Pod、Config 等)。
Controller Manager負責各種控制器(如 ReplicaSet、Deployment)的邏輯,維持系統的期望狀態(Desired State)。
Scheduler根據資源使用情況與排程策略,決定新的 Pod 要被安排到哪個 Node 上執行。

Worker Nodes(工作節點)

Worker Nodes 是實際執行應用程式容器的機器(實體機或虛擬機)。

元件功能說明
kubelet與 API Server 通訊,負責在節點上啟動、監控 Pod,確保實際狀態符合期望狀態。
kube-proxy提供 Service 的網路轉發與負載平衡,管理節點上的網路規則。
Container Runtime執行容器的實際引擎,例如 DockercontainerdCRI-O

Control Plane 與 Worker Nodes 的協作流程(簡化)

  1. 使用者透過 kubectlAPI Server 發送建立或修改資源的請求(如 Deployment)。
  2. API Server 驗證並將狀態寫入 etcd
  3. Controller Manager 監控到「期望的 Pod 數量」與「實際狀態」不一致時,要求建立或刪除 Pod。
  4. Scheduler 接手,將新的 Pod 指派到適合的 Worker Node
  5. 被指派的 Node 上的 kubelet 啟動對應的 Container Runtime 來建立容器。
  6. kube-proxy 更新網路規則,讓流量可以正確導向對應的 Pod。

延伸閱讀