Skip to Content

什麼是 Kubernetes 上的 Blue-green 部署?

Kubernetes 支援稱為藍綠色部署的軟體開發生命週期策略,這涉及在生產中同時運行應用程式的新舊版本。請繼續閱讀,了解什麼是藍綠色部署,以及為什麼您可能要為 Kubernetes 應用程式實施此策略。 

什麼是 Blue-green 部署?

藍綠色部署是一種軟體開發生命週期策略,它涉及在生產中同時運行新版本和舊版應用程式。部署後,使用者會從舊版(藍色)逐漸移轉至新版(綠色)的應用程式。 

為了快速提供軟體更新,開發人員需要一種方式來持續部署功能。傳統上,程式碼部署需要停機時間,因此在每週或每月的特定日期完成。此策略會減緩軟體的更新速度,並不支援持續交付。

Blue-green 部署環境可同時在生產環境中運行舊版和新版應用程式,以解決這個問題。藍色版本是舊應用程式,綠色版本是新的。使用者在部署後會慢慢移至新的綠色版本。將使用者移至新的綠色版本後,如果程式碼因錯誤或嚴重錯誤而必須復原至先前版本,則藍色版本可作為容錯移轉。

Blue-green vs. 運用 Kubernetes 進行部署

在許多企業環境中,生產作業在多台伺服器上運行。一個連續部署不同時運行多個版本,而是使用一個版本的應用程式,並個別更新每個伺服器。 

假設您的負載平衡器後面有兩台伺服器,並運行單一生產應用程式。在循環式部署中,開發人員會將一台伺服器停止運轉,更新應用程式,然後讓伺服器重新運轉。第二台伺服器被輪流移除,然後進行更新。大多數循環環境都有三個伺服器,因此單一伺服器可以作為故障轉移,以防新版本環境中出現錯誤。

Blue-green vs. Canary 與 Kubernetes

全能部署與藍綠色部署類似,但全能部署會將特定使用者傳送至較新的應用程式版本,而非緩慢地將所有使用者移至新版本。這是測試新應用程式的絕佳策略,使用者有興趣測試 Beta 版,或對新使用者無聲測試新功能,以獲得意見回饋。

通常,一小部分使用者使用根管部署,而原始版本仍運行於大多數使用者。因為只有一小部分使用者被導向新版本,基礎架構成本較低,且不需要太過先進,無法支援少數使用者。

Blue-green 部署的優勢

在任何持續交付環境中,藍綠色部署都具有多項優勢。Blue-green 部署可加速應用程式功能更新。開發人員不再需要等待窗口來部署新的程式碼,這可能會延遲部署數個月。

在三種部署類型中,藍綠色部署比其他部署方式更安全。這兩個版本的應用程式同時運行,因此開發人員可以毫不費力地復原變更。使用者在部署或復原期間不會遇到停機時間或生產力損失。

Blue-green 部署的缺點

藍綠色部署的最大缺點是費用。公司必須擁有 IT 預算,才能支付可同時託管藍色和綠色版本應用程式的雙重環境。組織還支付員工管理費,以維護和監控兩種環境。

資料庫同步是企業的另一個障礙。資料庫變更不易復原,因此必須謹慎更新表格和資料庫架構,尤其是在綠色和藍色環境都使用相同的資料庫時。部署到生產資料庫前,必須仔細測試兩種環境。

使用藍綠色部署搭配 Kubernetes 的時機

持續交付和 Kubernetes 齊頭並進。開發人員可以使用 Kubernetes 等調度工具自動部署應用程式。Kubernetes 可用來調度藍色和綠色環境,開發人員只需部署程式碼,讓 Kubernetes 管理從預備環境到生產的推廣程式碼。

容器化環境非常適合藍綠色部署,使其能夠快速銷毀和重建應用程式 Pod,以便運行藍或綠版本。如果容器應用程式發生錯誤,開發人員可以更輕鬆地將變更復原至藍色版本。

10/2025
Virtual Machine Provisioning at Enterprise Scale | Everpure
Sizing and scaling Red Hat OpenShift Virtualization with Portworx.
白皮書
22 頁

查看重要資訊與活動

影片
觀看影片:企業級資料雲端的價值。

Charlie Giancarlo 討論管理為何管理資料才是未來趨勢,而非儲存設備。發掘整合式做法如何革新企業級 IT 作業。

立即觀看
資源
傳統儲存裝置無法驅動未來。

現代化工作負載需求必須達到 AI 級速度、安全性與規模。您的技術棧準備好了嗎?

進行評估
PURE360 示範
探索、認識、體驗 Pure Storage。

存取隨取隨用影片與示範,了解 Pure Storage 的強大功效。

觀賞示範影片
精神領袖
創新競賽

儲存創新最前線的產業領導者最新深度資訊與觀點。

了解更多資訊
您的瀏覽器已不受支援!

較舊版的瀏覽器通常存在安全風險。為讓您使用我們網站時得到最佳體驗,請更新為這些最新瀏覽器其中一個。

Personalize for Me
Steps Complete!
1
2
3
Thinking...