Kubernetes 架構與核心元件
Kubernetes 的架構主要分為兩大區塊:
- Control Plane(控制平面):負責整體叢集的管理與協調。
- Node / Worker Nodes(工作節點):實際執行容器與工作負載的地方。
架構總覽圖

圖中可以看到 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 | 執行容器的實際引擎,例如 Docker、containerd、CRI-O。 |
Control Plane 與 Worker Nodes 的協作流程(簡化)
- 使用者透過
kubectl對 API Server 發送建立或修改資源的請求(如 Deployment)。 - API Server 驗證並將狀態寫入 etcd。
- Controller Manager 監控到「期望的 Pod 數量」與「實際狀態」不一致時,要求建立或刪除 Pod。
- Scheduler 接手,將新的 Pod 指派到適合的 Worker Node。
- 被指派的 Node 上的 kubelet 啟動對應的 Container Runtime 來建立容器。
- kube-proxy 更新網路規則,讓流量可以正確導向對應的 Pod。