管理 Kubernetes 叢集
GCP
課程概述
部署應用只是第一步,維運才是持久戰。這堂課我們來談 GKE 叢集的日常管理,包含監控、日誌、自動擴展、節點池管理,還有安全上的一些最佳實踐。
你將學到
- 使用 Cloud Monitoring 監控 GKE 叢集與工作負載
- 使用 Cloud Logging 收集與查詢容器日誌
- 配置 Horizontal Pod Autoscaler(HPA)與 Cluster Autoscaler
- 管理節點池升級與維護視窗
- 實作 Kubernetes RBAC 權限控制
核心概念
三層自動擴展
| 層級 | 機制 | 觸發條件 | 設定 |
|---|---|---|---|
| Pod | HPA | CPU/記憶體超過閾值 | kubectl autoscale |
| Pod | VPA | 資源 request 不合適 | VerticalPodAutoscaler CRD |
| Node | Cluster Autoscaler | Pod 無法排程 | --enable-autoscaling |
# 啟用 HPA(CPU 達 70% 時擴展,2-10 個 Pod)
kubectl autoscale deployment web-app --cpu-percent=70 --min=2 --max=10
# 啟用 Cluster Autoscaler
gcloud container clusters update my-cluster \
--enable-autoscaling --min-nodes=1 --max-nodes=10 \
--zone us-central1-a
Cloud Monitoring for GKE
GKE 跟 Cloud Monitoring 是整合好的,可以分好幾層來看:
- Infrastructure:節點 CPU、記憶體、磁碟使用率
- Workloads:Pod 重啟次數、容器資源使用
- Services:請求延遲、錯誤率、吞吐量
建議設定的告警:
- Pod 重啟次數 > 5 次/小時
- 節點 CPU 使用率 > 85%
- Pod 處於非 Ready 狀態超過 5 分鐘
節點池管理
# 建立新節點池
gcloud container node-pools create high-mem-pool \
--cluster=my-cluster --machine-type=n2-highmem-4 --num-nodes=2
# 設定維護視窗(每週日凌晨 2-6 點)
gcloud container clusters update my-cluster \
--maintenance-window-start=2026-01-01T02:00:00Z \
--maintenance-window-end=2026-01-01T06:00:00Z \
--maintenance-window-recurrence="FREQ=WEEKLY;BYDAY=SU"
實作重點
- 開啟 GKE 的 Workload Identity 取代 service account key,更安全
- 使用 namespaces 隔離不同團隊或環境的工作負載
- 定期執行
gcloud container clusters upgrade保持版本更新 - 設定 PodDisruptionBudget 確保升級時服務不中斷
Skill Badge 指引
Lab 連結:Manage Kubernetes in Google Cloud — 完成此 lab 可獲得 Skill Badge
延伸學習
- PCA 認證相關:運算與儲存配置
- PCA 認證相關:可觀測性與 SRE
- 回到起點:GCP 運算服務基礎
Study Jam:雲端基礎實作 — 10/10 完成
查看系列全覽 →