Skip to content

antony@notes:~/kubernetes$ cat "Kubernetes-Deployments-Rolling-vs-Canary-vs-Blue-Green.md"

Kubernetes Deployments: Rolling vs Canary vs Blue-Green

2024-06-28· kubernetes

Kubernetes Deployments Strategy: Rolling vs Canary vs Blue-Green

1. What is a Kubernetes Deployment?

Kubernetes Deployment 為 Pod 和 ReplicaSets 提供了聲明式的變更或升級。

在 Deployment 中描述所需的狀態,Deployment Controller 會以 controlled rate (受控的速度) 將實際狀態變更為所需的狀態。可以定義 Deployments 來建立新的 ReplicaSets,或移除現有 Deployments 並用新 Deployments 採用其所有資源。

2. What is Deployment Strategy?

Kubernetes Deployment Strategy (策略) 說明如何公開發布新功能或更新,包括如何將使用者導向新版本。好的 Deployment 只需要很少的時間,既透明又安全,對最終用戶沒有任何影響。但在實際操作中,部署往往很混亂。糟糕的 Deployments 會導致終端使用者出現安全漏洞、延遲和中斷,甚至使他們的 sessions 過期。

一個組織的 Deployment strategy 會大大影響其發布新軟體更新的速度。有三種主要的 Kubernetes Deployment strategies 可供選擇:blue-green, rolling, and canary.。

3.1. Rolling Update Deployment