ACP雲原生容器工程師 - ACK應用與發佈管理

概述

ACK應用與發佈管理包括4種方式:

  • 灰度發佈

  • 手動發佈

  • 自動發佈

  • Helm發佈

 

灰度發佈(又名金絲雀發佈)

灰度發佈概念

  • 灰度發佈是將應用的舊版本A與新版本B同時部署在環境中,業務請求可能會被路由到版本A或者版本B的後端上,您可以自定義灰度發佈策略,快速調整版本A和版本B的流量佔比。

  • 灰度發佈可以再發布新版本應用時:

    • 自定義控制新版本應用流量比重

    • 漸進式完成新版本應用的全量上線

    • 最大限度地控制新版本發佈帶來的業務風險,降低故障帶來的影響

    • 同時支持快速回滾

 

灰度發佈實現

灰度發佈是可以幫助您漸進式更新Deployment的工具

  • 他能結合路由控制器Ingress Controller實現多版本並存,發佈暫停、流量百分比切換、健康檢查等功能

  • 極大解放灰度發佈過程中的手動操作,全自動化實現線上灰度流量切換


 

安裝灰度發佈組件


 

手動發佈

  • 在使用灰度發佈的手動發佈方式的時候,您需要創建一個Ingress、Service和Deployment結構的應用。

  • 目前灰度發佈只支持基於Deployment和Ingress的灰度發佈流程。

 

手動發佈流程

  1. 創建測試應用:可使用YAML文件來創建Deployment、Ingress向外暴露服務

  2. 創建灰度發佈:創建灰度發佈時,設置上述創建的Deployment、Service、Ingress,然後設置發佈方式爲手動發佈

  3. 執行灰度發佈:

  • 初始化完畢後,就可以進行灰度發佈

  • 開始灰度發佈前,您需要更新應用

  1. 查看歷史記錄:在灰度發佈頁面的歷史記錄區域,您可以查看所有創建的灰度發佈的發佈記錄,在每個創建的灰度發佈詳情頁面下方的發佈日誌區域,查看發佈過程。

 

自動發佈

自動發佈模式可以讓您全自動化地完成灰度發佈流程。

自動發佈流程

  1. 創建測試應用:可使用YAML文件來創建Deployment、Ingress向外暴露服務

  2. 創建灰度發佈:創建灰度發佈時,設置上述創建的Deployment、Service、Ingress,然後設置發佈方式爲自動發佈,然後灰度發佈即可自動運行。

  3. 查看歷史記錄:在灰度發佈頁面的歷史記錄區域,您可以查看所有創建的灰度發佈的發佈記錄,在每個創建的灰度發佈詳情頁面下方的發佈日誌區域,查看發佈過程。

 

基於Helm的發佈管理

  • 阿里雲Kubernetes服務集成了Helm包管理工具,幫助您快速構建雲上應用,因爲chart可以多次發佈,這就帶來一個發佈版本管理的問題

  • 因此,阿里雲Kubernetes提供了發佈功能,通過Web界面的方式對通過Helm發佈的應用進行管理。

 

前提條件

  • 已經成功創建一個Kubernetes集羣

  • 已開通了應用目錄或者服務目錄功能,安裝了Helm應用

 

查看發佈詳情

  1. 登錄容器服務管理控制檯

  2. 在控制檯左側導航欄中,單擊集羣

  3. 在集羣列表頁面中,單擊目標集羣名稱或者目標集羣右側操作欄下的詳情

  4. 在集羣管理業左側導航欄中,單擊應用

  5. 單擊Helm頁籤,進入發佈列表頁面

  6. 查看發佈的詳情信息,單擊右側的詳情,進入該發佈的詳情頁面

  7. 單擊參數頁籤,您可查看該Helm包的參數設置

 

發佈更新的版本

  1. 在控制檯左側導航欄中,單擊集羣

  2. 在集羣列表頁面中,單擊目標集羣名稱或者目標集羣右側操作欄下的詳情

  3. 在集羣管理業左側導航欄中,單擊應用

  4. 單擊Helm頁籤,進入發佈列表頁面

  5. 您可更新該發佈,單擊右側的更新,彈性更新發布對話框

  6. 在更新發布對話框中修改相關參數,隨後單擊更新,可對該發佈進行更新

 

發佈回滾

  1. 單擊Helm頁籤,進入發佈列表頁面

  2. 您可刪除該發佈,單擊右側的刪除

  3. 在刪除應用對話框中,勾選是否清楚發佈記錄,然後單擊確定,可將應用、服務、部署一併刪除。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章