513
微信
負載均衡路由藍綠發布策略__發布策略_用戶指南_容器服務-阿裏雲
背景信息
藍綠發布是一種零宕機的應用更新策略。進行藍綠發布時,應用的舊版本服務與新版本服務會同時並存,同一個應用不同版本的服務之間共享負載均衡,通過調節負載均衡權重的方式,可以實現不同版本服務之間的流量切換。驗證無誤後,可以通過發布確認的方式將應用的舊版本的服務刪除;如果驗證不通過,則進行發布回滾,應用的新版本會進行刪除。
場景介紹
假設您要進行藍綠發布的應用是一個 Nginx 的靜態頁麵,初始的應用模板如下。
nginx-v1:
image: 'registry.aliyuncs.com/ringtail/nginx:1.0'
ports:
- 80:80/tcp
labels:
aliyun.lb.port_80: tcp://proxy_test:80
restart: always
部署後頁麵的效果如下。
操作步驟
登錄 容器服務管理控製台。
單擊左側導航欄中的 應用。
選擇目標應用所在的集群。
選擇目標應用並單擊 變更配置。
選擇變更的發布模式與新版本服務的配置。
注意:
- 在藍綠發布中,新版本與舊版本不能共用同一個名字。
- 在藍綠發布的場景中,為了保證應用的零宕機切換,新版本的服務的路由權重默認為 0,需要通過路由管理頁麵進行調整,方可進行流量切換。
模板樣例如下:
nginx-v2:
image: 'registry.aliyuncs.com/ringtail/nginx:2.0'
ports:
- 80:80/tcp
labels:
aliyun.lb.port_80: tcp://proxy_test:80
restart: always
單擊確定,發布變更。
在發布的過程中,會經曆兩個狀態:
- 藍綠發布中:表示新版本的服務尚未啟動完成。
藍綠發布待確認:表示新版本的服務已經啟動完成,此時需要進行發布確認或者發布回滾方可進行下一次發布。
進入應用的詳情頁麵,可以看到新版本的應用和舊版本的應用並存。其中藍色的表示舊版本的服務,綠色表示新版本的服務。如果一個服務在前後兩個版本中都存在且沒有變化,那麼會出現黃色的標簽,表示這個應用在藍綠發布中不會出現任何變化。
單擊 路由列表 並單擊設置服務權重。
如下圖所示,舊版本服務的負載均衡權重為 100,新版本服務負載均衡的權重為 0。
要做到零宕機升級,您需要先把新版本的服務的權重值調整為 100,此時新舊服務的權重各占 50%,測試新舊版本的服務都有穩定的流量。
注意:同時調整兩個服務的權重,可能會導致部分請求失敗,所以權重需要分為兩步進行調整,一步隻調整一個服務的權重。例如,先將新服務權重值從 0 調整為 100,待流量穩定後,再將然舊服務權重值從 100 設置為 0。下一步,將舊版本服務的權重調整為 0,新版本服務的權重調整為 100。
您可以打開一個新的瀏覽器窗口,訪問新的版本,結果如下。
當整個發布流程驗證完畢後,在應用列表頁麵,單擊 確認發布完成 並在彈出的確認對話框中單擊 確認 進行發布確認,方可進行下一次發布。
您可以看到應用的服務列表已經更新了,舊的服務已經完全下線刪除了。
最後更新:2016-11-23 16:04:18
上一篇:
簡單路由藍綠發布策略__發布策略_用戶指南_容器服務-阿裏雲
下一篇:
API 概述__API參考_容器服務-阿裏雲
修改查詢刪除報警任務__報警任務_用戶指南_彈性伸縮-阿裏雲
認證考試的報名方式__彈性計算認證(ACP級)_如何獲得專業技術認證?_專業技術認證-阿裏雲
ALIYUN::ROS::WaitConditionHandle__資源列表_資源編排-阿裏雲
大數據計算服務MaxCompute(原名ODPS)服務協議__相關協議_平台介紹_數加平台介紹-阿裏雲
鏡像產品安全審核標準__商品接入_服務商_雲市場-阿裏雲
ALIYUN::SLB::LoadBalancer__資源列表_資源編排-阿裏雲
阿裏雲被責令整改:違反用戶身份登記和網站備案要求
雲盾混合雲會不會把用戶數據上傳公共雲?___常見問題_雲盾混合雲-阿裏雲
DeleteRow__API 概覽_API 參考_表格存儲-阿裏雲
網絡選擇__loghub-采集_用戶指南_日誌服務-阿裏雲
相關內容
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲