K8s 的重要名詞與其用途

📌 一、Pod 是什麼?

Pod 是 Kubernetes 中最小的部署單位,它可以包含一個或多個容器(如 Docker 容器),這些容器共享資源(如網路、儲存空間、記憶體等)。

📍 Pod 的用途:

  • 執行一個或多個容器
  • 共享儲存空間與網路 IP
  • 通常一個 Pod 只包含一個主容器與數個輔助容器(sidecar)

📍 舉例:

一個 WordPress 網站可能由:

  • WordPress Pod(PHP + Apache)
  • MySQL Pod(資料庫)

兩個獨立 Pod 組成。

📌 二、PVC(PersistentVolumeClaim)是什麼?

PVC 用來向 Kubernetes 請求持久化儲存空間,讓資料可以長期保存,不會隨著容器刪除而消失。

PVC 可以想像成:「我要一個儲存空間,幫我保護資料!」

📍 PVC 的用途:

  • 持久儲存資料(如資料庫、網站檔案)
  • 動態或靜態方式配置儲存空間(由 StorageClass 決定)

📍 舉例:

WordPress 網站的圖片、文章等內容需要 PVC,以便在容器重啟或升級後,資料仍保留。

📌 三、更多 Kubernetes 架構名詞及作用

以下用簡單易懂方式介紹:

名詞中文簡稱說明與作用
Node節點Kubernetes 的主機節點,負責運行 Pod 的伺服器。
Namespace命名空間將資源分門別類,更好管理與隔離資源(如開發、測試、生產環境)。
Deployment部署負責管理 Pod 副本數、更新方式等,確保應用持續運作與可擴充。
StatefulSet有狀態部署部署有狀態服務,如資料庫,每個 Pod 具有固定身份(如固定主機名、固定儲存)。
DaemonSet常駐部署每個節點運行一個 Pod,例如:日誌管理、監控工具。
Service服務提供固定的 IP 位址或域名來存取 Pod,避免 Pod 重啟後 IP 改變導致連線問題。
Ingress路由器(入口)管理對外的 HTTP 流量,類似反向代理(如 Nginx),可根據網址導向特定服務。
ConfigMap組態設定用於管理應用程式的組態(例如環境設定檔),無需重新建置映像檔即可更新設定。
Secret機密設定管理敏感資料,如密碼、憑證,避免直接寫入容器內,安全性更高。
PersistentVolume (PV)持久儲存空間Kubernetes 中的實體儲存資源,由 PVC 提出請求後分配使用。
StorageClass儲存類別決定儲存資源的類型與特性(例如 SSD 或 HDD、雲端或本機),也決定是否可動態擴容。
ReplicaSet副本集控制 Pod 的副本數量,Deployment 內部使用的元件,通常不直接操作。
Horizontal Pod Autoscaler (HPA)水平擴充器依據負載(如 CPU 使用率)自動調整 Pod 數量,達到自動擴縮效果。
kubectl命令行工具Kubernetes 操作指令工具,可用於部署、管理和查詢資源狀態。

🚩 實務舉例:WordPress 網站案例

實務上搭建 WordPress 網站常用 Kubernetes 名詞的關係:

Ingress(域名導向流量)

Service(穩定存取 IP)

Deployment(管理 WordPress Pods)

Pod(實際運行 WordPress 容器)

PVC(儲存 WordPress 檔案,如圖片和外掛)

PersistentVolume (實體儲存,如 SSD、雲端儲存)

📌 Kubernetes 架構圖解

更簡化的圖解幫你記憶:

使用者 (user) → Ingress → Service → Pod → Container
│ ↓
│ PVC & PV
ConfigMap / Secret

📌 如何記憶這些名詞?(快速技巧)

Kubernetes名詞用簡單比喻記憶法
Pod容器的家(可裝多個 container)
Deployment管理 Pod 的生命週期、數量
ServicePod 的接待櫃檯,提供穩定入口
Ingress類似大樓總機,依域名轉接給不同服務
PVC & PV持久硬碟空間
ConfigMap & Secret配置與密碼設定

🚩 總結重點

  • Pod:最小容器部署單元,一個或多個容器組成。
  • PVC:Kubernetes 中持久儲存空間,用於保存資料。
  • 透過 ServiceIngress,使用者能輕鬆、穩定存取 Pod。
  • Namespace 幫助資源分類與隔離,管理更方便。
  • ConfigMap、Secret 負責管理設定與敏感資料,避免直接放入容器中,更安全。
瀏覽次數:45