Kubernetes 架構圖解:Cluster、Node Pool、Node、Pod 一次搞懂

avatar-img
發佈於軟體開發
更新於 發佈於 閱讀時間約 8 分鐘

Kubernetes 中關鍵角色

Pod 是什麼?📦

Pod 是 Kubernetes 中最小的、可部署的運算單元。你可以把它想像成一個**「應用程式的小包裹」**。

  • 組成:
    • 一個 Pod 可以包含一個或多個容器
    • 這些容器會共享相同的網路(IP 位址、埠號)和儲存資源。
    • 通常,如果多個容器需要緊密協作,而且它們的生命週期是綁定在一起的,那麼它們就會被放在同一個 Pod 裡。
  • 功能:
    • 生命週期管理: Kubernetes 不會直接管理單一的容器,而是透過 Pod 來管理容器的生命週期。當你說要啟動一個應用程式時,你實際上是在啟動一個 Pod。
    • 通訊與協作: 在同一個 Pod 內的容器可以透過 localhost 互相通訊,就像在同一台機器上。
  • 比喻:
    • 容器 (Container): 是一個獨立的應用程式貨櫃。
    • Pod: 是一個**「豆莢」**,裡面裝著一個或多個「豆子」(容器)。這些豆子緊密相連,共享一個外殼(Pod 的資源)。

Node (節點) 是什麼?📦

在 Kubernetes (K8s) 的世界裡,Node (節點) 是構成整個叢集的基本工作單元

一個 Node 可以是一台實體伺服器,也可以是一個虛擬機器 (VM)。它負責提供運算資源 (CPU, 記憶體) 和儲存空間,來運行你的應用程式。

你可以把 Node 視為 Kubernetes 叢集的骨架,所有的應用程式 (Pod) 最終都是運行在這些 Node 上。

🔍 更完整說明:

在 Kubernetes 的架構中:

  • 每個 Node 都是一台電腦(通常是虛擬機,如 Google Cloud VM),能夠執行多個容器。
  • 它會跑一些必要的軟體元件,包括:
    • kubelet:跟 Kubernetes 控制平面溝通
    • 容器運行環境(如 Docker 或 containerd):負責執行容器
    • kube-proxy:處理網路與服務轉送

Node Pool (節點池) 是什麼?📦

它指的是一組具有相同配置的「節點 (Nodes)」的集合,簡單說就是「有相同規格的工作機群組」。

你可以把一個 Kubernetes 叢集想像成一家大型公司,而一個 Node Pool 就是公司內部的一個**「特定職能小組」或「團隊」**。這個團隊裡的所有成員都擁有相同的技能、工具和設備(例如:相同的 CPU、記憶體、硬碟大小),因此他們適合處理同一類型的工作。

🔍 更具體解釋:

當你在 GKE 上建立一個 Kubernetes 叢集(Cluster)時:

  • 這個叢集會包含一個或多個「Node Pool」。
  • 每個 Node Pool 裡面有多台節點(本質上是 VM 虛擬機),用來執行你的容器。
  • 你可以根據需求建立多個 Node Pool,並為它們設定不同的:
    • 機器型號(CPU、RAM)
    • 作業系統(Linux、Windows)
    • 自動擴展策略
    • 區域(zone)或地區(region)

為什麼需要 Node Pool?🔑

在一個大型的 Kubernetes 叢集裡,你不會希望所有節點都長得一模一樣。Node Pool 的主要目的就是為了實現資源的異質性 (Heterogeneity)管理上的便利性

  1. 處理不同類型的工作負載 🧩
    • 你的應用程式可能有多種不同類型。例如,一個機器學習應用可能需要配備 GPU 的高運算節點,而一個簡單的網站伺服器只需要普通的 CPU 節點。
    • Node Pool 允許你在同一個叢集裡,建立多個不同配置的節點池。你可以有一個「GPU 節點池」專門跑機器學習任務,另一個「通用節點池」則用來跑你的網站服務。
  2. 簡化管理與維護 🛠️
    • Node Pool 讓你可以將維護任務應用到整個節點群組,而不是一個一個節點去處理。
    • 例如,當你需要升級作業系統或 Kubernetes 版本時,你可以一次性地升級整個節點池。
    • 當你想要擴展你的服務時,你只需要增加節點池的數量,而不需要為每個新節點都單獨配置。
  3. 優化成本 💰
    • Node Pool 讓你能夠為不同需求的工作負載,選擇最經濟的機器類型。
    • 你可以使用較便宜的機器來運行不太重要的開發環境,而使用效能更強、成本更高的機器來運行關鍵的生產服務。
  4. 獨立的自動擴展 📈
    • 你可以為每個 Node Pool 設定獨立的自動擴展規則
    • 例如,當你的網站服務流量增加時,只有「網站節點池」會自動增加節點,而「機器學習節點池」則不受影響。

🧱 Cluster 是什麼?

✅ 一句話定義:

Cluster 是整個 Kubernetes 系統的集合,是管理與執行容器應用的總控制中心。

Cluster (叢集) 是 Kubernetes 架構的最頂層概念。你可以把它想像成一個**「大型的自動化工廠」

  • 組成: 一個 Cluster 由多個 Node 組成,這些 Node 又分為兩種:
    • 控制平面 (Control Plane):負責管理和協調整個叢集,是「工廠的大腦」。
    • 工作節點 (Worker Nodes):負責實際運行應用程式,是「工廠的生產線」。
  • 功能: Cluster 的核心目標是提供一個單一、統一的運算平台。所有在叢集裡的 Node 都是一個整體,它們共同工作,為你提供一個穩定、可擴展、高可用的應用程式運行環境。
  • 比喻:
    • 沒有 Cluster 時: 你需要手動管理每台伺服器(Node),一台一台部署應用程式,一台一台監控健康狀況。
    • 有了 Cluster 後: 你只需要將你的應用程式「交給工廠的大腦」,它就會自動幫你決定要用哪條生產線(Node)來生產,要生產多少個產品(Pod),以及如何確保產品不會出問題。

所以,Cluster 是你與底層硬體之間的抽象層。它讓你可以專注於應用程式本身,而不是底層的基礎設施。


  • Kubernetes 就像是一個城市管理系統的軟體。
  • Cluster (叢集) 則是一個獨立運行的「城市」
    一個 Kubernetes 叢集可以包含多個 Node Pool 和多個 Namespace,但它本身就是一個獨立的 Cluster

raw-image
raw-image


運作流程:

  1. 你向 Cluster 的控制平面發出指令:「我要部署 10 個我的應用程式」。
  2. 控制平面會接收指令,並告訴 Node:「請在你們的生產線上,啟動這些 Pod」。
  3. Node 上的 Kubelet 代理程式接收到指令後,就會在 Node 上實際啟動這些 Pod

🧠 全部串起來:

你建立了一個 Kubernetes Cluster → 裡面有多個 Node → 每個 Node 會從 Node Pool 配置 → 然後這些 Node 上會跑很多 Pod → 每個 Pod 包含一個或多個容器

留言
avatar-img
留言分享你的想法!
avatar-img
hello maple
4會員
81內容數
各種工作及生活中的小小紀錄
hello maple的其他內容
2025/07/31
Docker 是容器打包工具,讓應用能獨立運作;GKE 則是由 Google 提供的 Kubernetes 服務,用來管理大量容器,處理部署、擴展與維運。兩者層級不同,角色互補。
Thumbnail
2025/07/31
Docker 是容器打包工具,讓應用能獨立運作;GKE 則是由 Google 提供的 Kubernetes 服務,用來管理大量容器,處理部署、擴展與維運。兩者層級不同,角色互補。
Thumbnail
2025/07/31
Shape 排隊機制是一種流量控制技術,透過限制封包傳送速率,讓資料有秩序地送出,避免突發流量造成網路擁塞。
Thumbnail
2025/07/31
Shape 排隊機制是一種流量控制技術,透過限制封包傳送速率,讓資料有秩序地送出,避免突發流量造成網路擁塞。
Thumbnail
2025/07/30
TCP/IP 是現代網路通訊的基礎架構,支援從瀏覽網頁、收發 Email 到線上遊戲的每一筆資料傳輸。本篇文章將深入淺出帶你了解 TCP/IP 是什麼、它包含哪些協定、四層架構的運作原理,以及與 OSI 模型的差異。只要讀完這篇,你就能清楚掌握網路世界的語言!
Thumbnail
2025/07/30
TCP/IP 是現代網路通訊的基礎架構,支援從瀏覽網頁、收發 Email 到線上遊戲的每一筆資料傳輸。本篇文章將深入淺出帶你了解 TCP/IP 是什麼、它包含哪些協定、四層架構的運作原理,以及與 OSI 模型的差異。只要讀完這篇,你就能清楚掌握網路世界的語言!
Thumbnail
看更多
你可能也想看
Thumbnail
2025 vocus 推出最受矚目的活動之一——《開箱你的美好生活》,我們跟著創作者一起「開箱」各種故事、景點、餐廳、超值好物⋯⋯甚至那些讓人會心一笑的生活小廢物;這次活動不僅送出了許多獎勵,也反映了「內容有價」——創作不只是分享、紀錄,也能用各種不同形式變現、帶來實際收入。
Thumbnail
2025 vocus 推出最受矚目的活動之一——《開箱你的美好生活》,我們跟著創作者一起「開箱」各種故事、景點、餐廳、超值好物⋯⋯甚至那些讓人會心一笑的生活小廢物;這次活動不僅送出了許多獎勵,也反映了「內容有價」——創作不只是分享、紀錄,也能用各種不同形式變現、帶來實際收入。
Thumbnail
這篇的DevOps發佈系統是以Spring Cloud微服務(微服務)為背景;由GitLab、Harbor與Kubernetes組成。 GitLab負責版本管理與CI/CD(CI/CD)。 Harbor負責Docker([Docker]介紹) Image的儲存與發佈。 Kubernetes([
Thumbnail
這篇的DevOps發佈系統是以Spring Cloud微服務(微服務)為背景;由GitLab、Harbor與Kubernetes組成。 GitLab負責版本管理與CI/CD(CI/CD)。 Harbor負責Docker([Docker]介紹) Image的儲存與發佈。 Kubernetes([
Thumbnail
安裝環境需求 64位元Linux,核心版本為3.1以上,且能滿足Ducker安裝環境。 機器之間要能夠互通。 外部存取權限。 硬體資源:兩核心CPU、8G記憶體、硬碟30GB以上。 安裝Kubeadm與Ducker Kubeadm是Kubernetes的一鍵部署工具。 增加Kube
Thumbnail
安裝環境需求 64位元Linux,核心版本為3.1以上,且能滿足Ducker安裝環境。 機器之間要能夠互通。 外部存取權限。 硬體資源:兩核心CPU、8G記憶體、硬碟30GB以上。 安裝Kubeadm與Ducker Kubeadm是Kubernetes的一鍵部署工具。 增加Kube
Thumbnail
在實際生產中,容器化技術開始走向「容器編排技術」,如:Kubernetes。因為Docker無法獨立支撐大規模容器化部署。 Kubernetes起源於Borg系統,所以在大規模的叢集管理,優於其他容器編排技術。它提供拉取映像檔、拉取執行容器、路由閘道、水平擴充、監控和備份等,除外還可以自動化處理容
Thumbnail
在實際生產中,容器化技術開始走向「容器編排技術」,如:Kubernetes。因為Docker無法獨立支撐大規模容器化部署。 Kubernetes起源於Borg系統,所以在大規模的叢集管理,優於其他容器編排技術。它提供拉取映像檔、拉取執行容器、路由閘道、水平擴充、監控和備份等,除外還可以自動化處理容
Thumbnail
本篇文章將教你如何在Kubernetes cluster內部署一個MongoDB,包括取得Manifests、建立Volume、部署實務、基本操作和結論。透過操作演示,讓你瞭解在實務上如何成功建立MongoDB,並進行基本操作。
Thumbnail
本篇文章將教你如何在Kubernetes cluster內部署一個MongoDB,包括取得Manifests、建立Volume、部署實務、基本操作和結論。透過操作演示,讓你瞭解在實務上如何成功建立MongoDB,並進行基本操作。
Thumbnail
本文將探討Kubernetes內部DNS解析的相關流程,並介紹如何利用DNS來找到服務。透過瞭解DNS的工作原理,可以讓應用服務的問題處理更有效率,並提供基本測試與結論。
Thumbnail
本文將探討Kubernetes內部DNS解析的相關流程,並介紹如何利用DNS來找到服務。透過瞭解DNS的工作原理,可以讓應用服務的問題處理更有效率,並提供基本測試與結論。
Thumbnail
本篇說明如何利用Kubernetes特色,將PostgreSQL DB以HA的架構來提供服務,並說明相關的實作流程與說明。
Thumbnail
本篇說明如何利用Kubernetes特色,將PostgreSQL DB以HA的架構來提供服務,並說明相關的實作流程與說明。
Thumbnail
引言 在當今的技術世界中,Kubernetes 已成為容器化應用的領導平台。作為一個高效的容器編排系統,它不僅管理著容器的部署和擴展,還提供了必要的自動化支持,以保證應用的高可用性和性能。在這個框架中,自動擴展功能起著至關重要的作用,特別是在面對不斷變化的負載和需求時。
Thumbnail
引言 在當今的技術世界中,Kubernetes 已成為容器化應用的領導平台。作為一個高效的容器編排系統,它不僅管理著容器的部署和擴展,還提供了必要的自動化支持,以保證應用的高可用性和性能。在這個框架中,自動擴展功能起著至關重要的作用,特別是在面對不斷變化的負載和需求時。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News