跳至主要內容
ESC
Study Jam:雲端基礎實作 — 第 10/10 篇

管理 Kubernetes 叢集

GCP

課程概述

部署應用只是第一步,維運才是持久戰。這堂課我們來談 GKE 叢集的日常管理,包含監控、日誌、自動擴展、節點池管理,還有安全上的一些最佳實踐。

你將學到

  • 使用 Cloud Monitoring 監控 GKE 叢集與工作負載
  • 使用 Cloud Logging 收集與查詢容器日誌
  • 配置 Horizontal Pod Autoscaler(HPA)與 Cluster Autoscaler
  • 管理節點池升級與維護視窗
  • 實作 Kubernetes RBAC 權限控制

核心概念

三層自動擴展

層級機制觸發條件設定
PodHPACPU/記憶體超過閾值kubectl autoscale
PodVPA資源 request 不合適VerticalPodAutoscaler CRD
NodeCluster AutoscalerPod 無法排程--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

延伸學習

Study Jam:雲端基礎實作 — 10/10 完成 查看系列全覽 →

留言討論

徽章解鎖!