概述
ACK應用與發佈管理包括4種方式:
-
灰度發佈
-
手動發佈
-
自動發佈
-
Helm發佈
灰度發佈(又名金絲雀發佈)
灰度發佈概念
-
灰度發佈是將應用的舊版本A與新版本B同時部署在環境中,業務請求可能會被路由到版本A或者版本B的後端上,您可以自定義灰度發佈策略,快速調整版本A和版本B的流量佔比。
-
灰度發佈可以再發布新版本應用時:
-
自定義控制新版本應用流量比重
-
漸進式完成新版本應用的全量上線
-
最大限度地控制新版本發佈帶來的業務風險,降低故障帶來的影響
-
同時支持快速回滾
-
灰度發佈實現
灰度發佈是可以幫助您漸進式更新Deployment的工具
-
他能結合路由控制器Ingress Controller實現多版本並存,發佈暫停、流量百分比切換、健康檢查等功能
-
極大解放灰度發佈過程中的手動操作,全自動化實現線上灰度流量切換
安裝灰度發佈組件
手動發佈
-
在使用灰度發佈的手動發佈方式的時候,您需要創建一個Ingress、Service和Deployment結構的應用。
-
目前灰度發佈只支持基於Deployment和Ingress的灰度發佈流程。
手動發佈流程
-
創建測試應用:可使用YAML文件來創建Deployment、Ingress向外暴露服務
-
創建灰度發佈:創建灰度發佈時,設置上述創建的Deployment、Service、Ingress,然後設置發佈方式爲手動發佈
-
執行灰度發佈:
-
初始化完畢後,就可以進行灰度發佈
-
開始灰度發佈前,您需要更新應用
- 查看歷史記錄:在灰度發佈頁面的歷史記錄區域,您可以查看所有創建的灰度發佈的發佈記錄,在每個創建的灰度發佈詳情頁面下方的發佈日誌區域,查看發佈過程。
自動發佈
自動發佈模式可以讓您全自動化地完成灰度發佈流程。
自動發佈流程
-
創建測試應用:可使用YAML文件來創建Deployment、Ingress向外暴露服務
-
創建灰度發佈:創建灰度發佈時,設置上述創建的Deployment、Service、Ingress,然後設置發佈方式爲自動發佈,然後灰度發佈即可自動運行。
-
查看歷史記錄:在灰度發佈頁面的歷史記錄區域,您可以查看所有創建的灰度發佈的發佈記錄,在每個創建的灰度發佈詳情頁面下方的發佈日誌區域,查看發佈過程。
基於Helm的發佈管理
-
阿里雲Kubernetes服務集成了Helm包管理工具,幫助您快速構建雲上應用,因爲chart可以多次發佈,這就帶來一個發佈版本管理的問題
-
因此,阿里雲Kubernetes提供了發佈功能,通過Web界面的方式對通過Helm發佈的應用進行管理。
前提條件
-
已經成功創建一個Kubernetes集羣
-
已開通了應用目錄或者服務目錄功能,安裝了Helm應用
查看發佈詳情
-
登錄容器服務管理控制檯
-
在控制檯左側導航欄中,單擊集羣
-
在集羣列表頁面中,單擊目標集羣名稱或者目標集羣右側操作欄下的詳情
-
在集羣管理業左側導航欄中,單擊應用
-
單擊Helm頁籤,進入發佈列表頁面
-
查看發佈的詳情信息,單擊右側的詳情,進入該發佈的詳情頁面
-
單擊參數頁籤,您可查看該Helm包的參數設置
發佈更新的版本
-
在控制檯左側導航欄中,單擊集羣
-
在集羣列表頁面中,單擊目標集羣名稱或者目標集羣右側操作欄下的詳情
-
在集羣管理業左側導航欄中,單擊應用
-
單擊Helm頁籤,進入發佈列表頁面
-
您可更新該發佈,單擊右側的更新,彈性更新發布對話框
-
在更新發布對話框中修改相關參數,隨後單擊更新,可對該發佈進行更新
發佈回滾
-
單擊Helm頁籤,進入發佈列表頁面
-
您可刪除該發佈,單擊右側的刪除
-
在刪除應用對話框中,勾選是否清楚發佈記錄,然後單擊確定,可將應用、服務、部署一併刪除。