K8S 知識地圖,學習筆記

BDD × Kubernetes

K8s 完整知識地圖

從痛點出發,用行為描述理解每一個概念

這是依照個人理解,寫的學習紀錄

BDD 教練學習成果 · 22 個挑戰完成
GIVEN 情境 WHEN 發生 THEN 期望 K8s 概念浮現
22
BDD 挑戰關卡
50+
K8s 核心概念
18
架構層次
🎯
架構哲學層
PHILOSOPHY · 最頂層思維
YAGNI 不過度設計 演進式架構 SLO 驅動決策 Right-sizing Bottleneck First Core Domain First
💡 你說:「盤點資源上限,找最多人手的痛點,常用的先圈整」
💰
FinOps 成本優化層
COST · 讓錢花在刀口上
Cost Visibility Kubecost 殭屍資源偵測 資源使用率分析 Spot Instance 夜間自動縮減
💡 你說:「看哪個服務使用量少、有沒有異常連線、漏格分配資源」
🌍
災難復原層
DR · 機房全燒也不怕
RTO 恢復時間目標 RPO 資料遺失目標 Active-Active Warm Standby DR Drill 演練 Chaos Engineering Chaos Monkey
💡 你說:「1 小時內恢復,提前準備機房備援,定期 AB 機房輪替」
📋
治理合規層
GOVERNANCE · 誰做了什麼
RBAC 細緻化 最小觀看權限 最小操作權限 Audit Log SSO + MFA 四眼原則 臨時權限自動過期
💡 你說:「設定最小觀看權限還有操作權限,還要有操作紀錄」
🧠
Control Plane 層
BRAIN · K8s 的大腦
API Server etcd 叢集記憶 Scheduler Controller Manager 3台 HA 高可用 Raft 共識演算法 etcd 定期備份
💡 你說:「啟用備用大腦機制,已在跑的 Pod 繼續跑不停止」
🕸️
Service Mesh 層
MESH · 50個服務的管理者
Istio Sidecar Proxy Rate Limiting 限流 Circuit Breaker 熔斷 Retry 重試 mTLS 加密 Kiali 服務地圖
💡 你說:「需要紀錄監控哪些服務做了什麼,還要設立流量限制」
📨
事件驅動層
EVENT · 服務解耦的關鍵
Message Queue Kafka RabbitMQ Dead Letter Queue 冪等性 Idempotency 非同步處理
💡 你說:「要有防範措施,金流掛掉時其他服務知道,把錯誤日誌叫出來」
🗄️
資料層
DATA · 撐住 1000 萬筆訂單
Primary / Replica 讀寫分離 Sharding 分片 Connection Pool Redis Cache Cache 過期策略
💡 你說:「資料庫做擴充、限制連線查詢」
🔐
資安防護層
SECURITY · 縱深防禦三層
Network Policy Security Context Admission Controller 最小權限原則 緊急隔離機制 Image 漏洞掃描
💡 你說:「需要和其他 Pod 做隔離、切斷有問題的 Pod」
🎯
排程層
SCHEDULING · Pod 去哪台機器
Scheduler Node Affinity Taints 污點 Tolerations 容忍 Pod Affinity Pod Anti-Affinity Filter + Score
💡 你說:「自動依照 Pod 需求邊界推算哪個機器適合,不希望亂推薦」
👁️
可觀測性層
OBSERVABILITY · 看見系統內部
Logging 紀錄 Metrics 數字 Tracing 追蹤 Prometheus Grafana Loki Jaeger 異常警報
💡 你說:「需要每個環節的 Log,還要有異常監測提醒」
🚀
自動化層
AUTOMATION · 一鍵部署不出錯
CI Pipeline CD Pipeline GitOps Argo CD 自動測試 自動建 Image Git 唯一真相
💡 你說:「寫一個自動部署 SOP,自動檢測有沒有遵守,另一種是一鍵完成」
🌏
全球流量層
TRAFFIC · 使用者的第一道門
LoadBalancer Ingress DNS 切換 跨區流量 全球調度
💡 你說:「你還有備援」→ 台灣掛掉,日本、美國自動接手
🔒
安全隔離層
ISOLATION · 團隊各自獨立
Namespace RBAC Secret ConfigMap ServiceAccount
💡 你說:「隔離權限,不讓前端知道有後端 Pod」
⚙️
資源管理層
RESOURCES · 不多不少剛剛好
Requests 保證資源 Limits 最高上限 HPA 水平擴展 VPA 垂直擴展 ResourceQuota
💡 你說:「限制 Pod 配額,自動分配少和多的平衡,把沒用到的補充給需要的」
🔄
升級管理層
DEPLOY · 零停機更新
Rolling Update Rollback Liveness Probe Readiness Probe Startup Probe Desired State
💡 你說:「我會輪流升級,如果有問題用其他來調度」
💾
儲存層
STORAGE · 資料不能消失
Volume PV 永久儲存 PVC 儲存申請 StorageClass VolumeSnapshot RWO / RWX
💡 你說:「重啟後可能失去資料,所以要有個快照」
🏗️
基礎核心層
CORE · 一切的起點
Pod 執行單位 Deployment 維持狀態 Service 自動分流 ReplicaSet Container Node 機器節點
💡 你說:「我希望系統可以穩定,不會因為突然流量變大而崩潰」← 一切的起點
📈 架構演進時間軸
PHASE 01 · 現在
10萬用戶
單一 K8s 叢集
單一資料庫
基礎監控
5 個工程師
PHASE 02 · 1年後
500萬用戶
Read Replica
Redis Cache
HPA 自動擴展
CI/CD 建立
PHASE 03 · 2年後
3000萬用戶
微服務拆分
Message Queue
Service Mesh
多區域部署
PHASE 04 · 3年後
1億用戶
Active-Active
FinOps 優化
Chaos Engineering
全部概念上線
💡 BDD 思考的力量
感受痛點 描述期望行為 概念自然浮現 真正理解,永遠不忘
你從來沒有背過任何定義。每個概念都從你自己的痛點出發,用 BDD 語法描述期望的行為,K8s 的解法自然浮現。這就是為什麼你記得這麼清楚——因為每個概念對你來說都有意義。

留言