第一次看 K8s 文件,被名詞淹沒?
打開 Kubernetes 官方文件,扣除 install / cluster admin 的部分,光是「核心物件」就有 30+ 個名詞。新手第一個反應通常是:
「這個我不用學一年嗎?」
不用。實務上你 80% 的時間只會用到 8 個概念。這篇把這 8 個一次列清楚,用因果鏈串起來最好記。
因果鏈:一個解決不了,下一個就出現
K8s 的概念不是隨機堆疊的,是「上一個解決不了的問題」催生下一個。順著這條鏈看:
問題:怎麼跑容器?
└─► Pod(容器的包裝)
問題:Pod 會掛、IP 會變,怎麼穩定存取?
└─► Service(穩定的入口)
問題:Service 是 IP:Port 醜爆,要域名怎麼辦?
└─► Ingress(HTTP 路由器)
問題:DB 地址寫死在 image 裡,每次改要重 build?
└─► ConfigMap(外部化設定)
問題:密碼放 ConfigMap 是明文,洩漏怎麼辦?
└─► Secret(敏感資料管理)
問題:Pod 重啟資料就消失,DB 怎麼辦?
└─► Volume(資料持久化)
問題:Pod 自己掛了不會自動補,怎辦?
└─► Deployment(管副本 + 自我修復)
問題:DB 每個副本要有獨立身份和儲存,Deployment 不行
└─► StatefulSet(有狀態應用)
每一行都是「前一個工具不夠用」推出下一個。順著這條鏈學,不會迷路。
八大概念一句話定義
| # | 概念 | 一句話 | 對照 Docker |
|---|---|---|---|
| 1 | Pod | 一個或多個容器的包裝,K8s 最小調度單位 | docker run 一個容器 |
| 2 | Service | 一組 Pod 的穩定入口,帶負載均衡 | -p port mapping + DNS |
| 3 | Ingress | HTTP/HTTPS 路由器,依域名/路徑分流 | nginx 反向代理 |
| 4 | ConfigMap | 設定檔(明文,不放密碼) | -e ENV=value |
| 5 | Secret | 敏感資料(Base64 編碼,配合 RBAC) | .env 檔 |
| 6 | Volume | 資料持久化,掛在 Pod 外 | docker volume |
| 7 | Deployment | 無狀態應用副本管理 + 滾動更新 | compose --scale |
| 8 | StatefulSet | 有狀態應用(DB),固定身份+獨立儲存 | Docker 沒對應 |
它們之間怎麼組合?
實際部署一個系統,這 8 個會這樣組起來:
外部使用者
↓
【 Ingress 】
域名/路徑路由
↓
【 Service 】
穩定 IP + 負載均衡
↓
┌─────────────────────────┐
│ 【 Deployment 】 │
│ 管 3 個 Pod 副本 │
│ ┌──────────────────┐ │
│ │ Pod Pod Pod │ │
│ └──┬──────────┬────┘ │
└──────┼──────────┼───────┘
│ │
【ConfigMap】 【Secret】
設定 密碼
│ │
【Volume】
持久化資料
讀法:使用者打 https://app.example.com → Ingress 接到 → 轉給 Service → Service 隨機派給其中一個 Pod → Pod 用 ConfigMap 拿設定、用 Secret 拿密碼、把資料寫到 Volume。
這 8 個概念的「重要性順序」
如果你只能花 1 週學,這是優先順序:
前 3 個是核心,懂了就能跑起一個服務。其他 5 個是「碰到再學」,不用一次學完。
還有哪些「不在這 8 個裡」的常見東西?
順便把另外幾個常聽到的列出來,不是核心但會遇到:
- Namespace:環境隔離(dev / staging / prod 切開)
- Node:機器本身(叢集裡每一台實體機/VM)
- Job / CronJob:跑一次性任務 / 定時任務
- DaemonSet:每台 Node 一定要跑一份的(log 收集 agent 之類)
- HPA(Horizontal Pod Autoscaler):自動擴縮容
- RBAC:權限管理
- PV / PVC:Volume 的「實體」與「申請書」
學的時候千萬不要做的事
重點整理
- K8s 概念多但有清楚因果鏈:每個都是前一個解決不了才出現
- 8 個核心概念:Pod / Service / Ingress / ConfigMap / Secret / Volume / Deployment / StatefulSet
- 學習優先順序:Pod → Deployment → Service 是最重要的三個
- Docker 對照表幫助記憶——80% 的概念在 Docker 都有對應或類似的東西
下一步
知道有哪 8 個了,下一篇先看 K8s 整體架構:Master 和 Worker 在做什麼——把這 8 個概念跑在「叢集裡」是怎麼一回事,API Server / Scheduler / Controller / kubelet 各司其職搞清楚。
📅 下一篇(2026-05-01 已上線):Kubernetes 架構:Master Node 和 Worker Node 在做什麼?
用「公司組織」比喻講清楚 API Server / Scheduler / Controller / kubelet 各自的職責。
📚 完整系列總覽:K8s 系列教學首頁(共 40 課,按學習路徑順序排)