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,以便運行藍或綠版本。如果容器應用程式發生錯誤,開發人員可以更輕鬆地將變更復原至藍色版本。

聯繫我們
問題或建議

如對Pure的產品或認證,有任何的疑問或建議,歡迎與我們聯繫!

預約試用

預約現場示範,親眼看看 Pure 如何幫助您將資料轉化為強大的成果。 

聯絡我們:886-2-3725-7989

媒體:pr@purestorage.com

 

Pure Storage總部

34F, Taipei Nanshan Plaza,

No. 100, Songren Road,

Xinyi District,

Taipei City 110016

Taiwan (R.O.C.)

800-379-7873 (一般資訊)

info@purestorage.com

關閉
您的瀏覽器已不受支援!

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