Kubernetes 零停機部署:Rolling Update vs Blue-Green 策略比較
在 Kubernetes 環境中進行零停機(Zero-Downtime)部署是 DevOps 實踐的重要課題,不同的部署策略在資源消耗、風險控制與回滾速度上各有取捨。本文比較三種主流策略的特性與適用情境。
Rolling Update(滾動更新)是 Kubernetes 的預設策略,透過逐步替換舊版 Pod 來實現無縫更新。優點是資源消耗低(不需雙倍資源),缺點是新舊版本會短暫共存,若新版存在相容性問題可能影響部分流量。通過配置 `maxUnavailable` 和 `maxSurge` 可細緻控制更新速度。
Blue-Green 部署維護兩套完整的生產環境(Blue 現行 / Green 新版),在新版完成測試後一次性切換流量。優點是即時完整回滾(僅需切換 Service selector),缺點是需要雙倍資源。Canary 部署則是將少量流量(如 5%)導向新版進行 A/B 測試,配合 Flagger 等工具可實現基於指標的自動推進或回滾。


