iT邦幫忙

2025 iThome 鐵人賽

DAY 19
1
IT 管理

新手挑戰 30 天:IT 管理各個面向的學習筆記系列 第 19

Day 19:深入 Kubernetes:關鍵元件與運作原理

  • 分享至 

  • xImage
  •  

在 Day 18 中,我們提到 Kubernetes 就像一個「自動化的社區物業管理公司」,幫助容器應用自動調度、伸縮與維護。那麼,這個龐大的系統是如何運作的呢?今天,我們將更深入了解 Kubernetes 的關鍵元件與其背後的運作原理。

1. Kubernetes 的整體架構

Kubernetes 可以拆分為兩個主要部分:

  • 控制平面(Control Plane):負責「決策」,相當於大腦。
  • 工作節點(Worker Nodes):負責「執行」,相當於手腳。

2. 控制平面(Control Plane)

控制平面是 Kubernetes 的指揮中心,包含以下元件:

  • API Server

    Kubernetes 的「入口大門」。所有指令(kubectl 或其他 API 呼叫)都會先經過 API Server。

  • etcd

    分散式鍵值資料庫,用來存放整個叢集的狀態,例如有哪些 Pod 正在執行。
    (Pod 是最小的可部署單位,可以想像成是一個「運行應用程式的盒子」。)

  • Scheduler

    「分配師傅」,負責決定 Pod 要在哪個節點上執行,考量資源使用、負載情況等。

  • Controller Manager

    「自動巡檢員」,持續監控叢集狀態,確保實際情況與期望狀態一致。例如:如果一個 Pod 當掉了,就會自動建立新的 Pod 來補足。

3. 工作節點(Worker Nodes)

每個工作節點就是實際運行應用程式的地方,包含:

  • Kubelet

    節點上的代理程式,負責與 API Server 溝通,確保 Pod 運作正常。

  • Kube-proxy

    節點的網路代理,處理 Pod 與 Pod 之間、Pod 與外部世界的流量轉送。

  • 容器運行時(Container Runtime)

    真正啟動容器的工具,例如 Docker、containerd。

4. Pod 與 Deployment

在 Kubernetes 中,應用程式並不是直接部署在節點上,而是以 Pod 為最小單位。

  • Pod:一個 Pod 內可以包含一個或多個容器,通常用來承載一個應用服務。
  • Deployment:更高階的控制器,定義「我要幾個 Pod、怎麼更新」,並自動幫你維護。

5. 運作原理:宣告式管理

Kubernetes 的運作方式基於 「宣告式(Declarative)」 而非 「指令式(Imperative)」

  • 只需要告訴 Kubernetes 「我想要的最終狀態」(例如:我要 3 個 Pod)。
  • Kubernetes 就會透過控制平面,不斷調整叢集,直到達到這個狀態。

換句話說,開發者定義「目標」,Kubernetes 幫你實現「過程」。

Kubernetes 不只是容器管理工具,而是一種以自動化與宣告式思維來驅動應用持續運行的關鍵力量,讓系統在雲端時代保持彈性與穩定。


上一篇
Day 18:Kubernetes 與容器化(Containerization)
下一篇
Day 20:雲端成本控管:FinOps
系列文
新手挑戰 30 天:IT 管理各個面向的學習筆記21
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言