閱讀419 返回首頁    go 阿裏雲


簡單路由藍綠發布策略__發布策略_用戶指南_容器服務-阿裏雲

背景信息

藍綠發布是一種零宕機的應用更新策略。進行藍綠發布時,應用的舊版本服務與新版本服務會同時並存,同一個應用不同版本的服務之間共享路由,通過調節路由權重的方式,可以實現不同版本服務之間的流量切換。驗證無誤後,可以通過發布確認的方式將應用的舊版本的服務刪除;如果驗證不通過,則進行發布回滾,應用的新版本會進行刪除。

前置條件

支持藍綠發布需要將路由服務升級到最新的版本。詳細信息參見 升級係統服務

場景介紹

假設您要進行藍綠發布的應用是一個 Nginx 的靜態頁麵,初始的應用模板如下。

  1. nginx-v1:
  2. image: 'registry.aliyuncs.com/ringtail/nginx:1.0'
  3. labels:
  4. aliyun.routing.port_80: nginx
  5. restart: always

部署後頁麵的效果如下。

操作步驟

  1. 登錄 容器服務管理控製台

  2. 單擊左側導航欄中的 應用

  3. 選擇目標應用所在的集群。

  4. 選擇目標應用並單擊 變更配置

    變更

  5. 選擇變更的發布模式與新版本服務的配置。

    注意:

    • 在藍綠發布中,新版本與舊版本不能共用同一個名字。
    • 在藍綠發布的場景中,為了保證應用的零宕機切換,新版本的服務的路由權重默認為 0,需要通過路由管理頁麵進行調整,方可進行流量切換。

    發布

    模板樣例如下所示:

    1. nginx-v2:
    2. image: 'registry.aliyuncs.com/ringtail/nginx:2.0'
    3. labels:
    4. aliyun.routing.port_80: nginx
    5. restart: always
  6. 單擊 確定,發布變更。

    在發布的過程中,會經曆兩個狀態:

    • 藍綠發布中:表示新版本的服務尚未啟動完成。
    • 藍綠發布待確認:表示新版本的服務已經啟動完成,此時需要進行發布確認或者發布回滾方可進行下一次發布。

      進入應用的詳情頁麵,可以看到新版本的應用和舊版本的應用並存。其中藍色的表示舊版本的服務,綠色表示新版本的服務。如果一個服務在前後兩個版本中都存在且沒有變化,那麼會出現黃色的標簽,表示這個應用在藍綠發布中不會出現任何變化。

    發布

  7. 單擊 路由列表 並單擊 設置服務權重

    如下圖所示,舊版本服務的權重為 100,新版本服務的權重為 0。

    將舊版本服務的權重調整為 0,新版本服務的權重調整為 100。

  8. 由於默認路由服務是進行會話保持的,您可以打開一個新的瀏覽器窗口,訪問新的版本,結果如下所示。

  9. 當整個發布流程驗證完畢後,在應用列表頁麵,單擊 確認發布完成 並在彈出的確認對話框中單擊 確認 進行發布確認,方可進行下一次發布。

    確認

    您可以看到應用的服務列表已經更新了,舊的服務已經完全下線刪除了。

最後更新:2016-11-23 16:04:15

  上一篇:go 容器間的互相發現__服務發現和負載均衡_用戶指南_容器服務-阿裏雲
  下一篇:go 負載均衡路由藍綠發布策略__發布策略_用戶指南_容器服務-阿裏雲