idou老師教你學Istio 18 : 如何用istio實現應用的灰度發佈

Istio爲用戶提供基於微服務的流量治理能力。Istio允許用戶按照標準制定一套流量分發規則,並且無侵入的下發到實例中,平滑穩定的實現灰度發佈功能。

基於華爲雲的Istio服務網格技術,使得灰度發佈全流程自動化管理:

• 灰度版本一鍵部署,流量切換一鍵生效

• 配置式灰度策略,支持流量比例、請求內容(Cookie、OS、瀏覽器等)、源IP

• 一站式健康、性能、流量監控,實現灰度發佈過程量化、智能化、可視化

Istio服務網格爲應用治理提供的灰度發佈功能,穩定高效地推動企業應用的迭代升級。用戶無需使用繁瑣的命令行配置,而是通過清晰友好的圖形界面,輕鬆直觀地完成灰度發佈整個過程(如圖1)。灰度發佈內置金絲雀、藍綠、A/B Testing等典型灰度發佈功能,下面以金絲雀發佈爲例介紹如何使用Istio服務進行一次灰度發佈。

idou老師教你學Istio 18 : 如何用istio實現應用的灰度發佈

Figure 1 灰度版本發佈流程

假設,用戶已經擁有了一個穩定運行的應用,以Bookinfo程序爲例,用戶通過【應用管理】下的【應用部署】功能已經部署了Bookinfo程序(如圖2)。

idou老師教你學Istio 18 : 如何用istio實現應用的灰度發佈

Figure 2 Bookinfo示例程序

  1. 創建金絲雀發佈任務

點擊【應用管理】下的【灰度發佈】欄,可以查看進行中的發佈任務、歷史發佈任務和創建新的發佈任務(如圖3)。點擊“金絲雀發佈”卡片上的“創建”按鈕,跳轉至“創建發佈任務”界面,選擇灰度發佈組件reviews,填寫發佈任務名稱、版本號和版本描述,並點擊“創建”按鈕。

idou老師教你學Istio 18 : 如何用istio實現應用的灰度發佈

Figure 3 灰度發佈任務卡片

idou老師教你學Istio 18 : 如何用istio實現應用的灰度發佈

Figure 4 創建灰度發佈任務

  1. 部署灰度版本

灰度版本會繼承當前線上版本的所有配置,如資源限制、環境變量等,並默認會選擇一個最新的鏡像版本。用戶只需最少量的輸入即可,如編輯待部署的灰度版本的實例數量和實例的鏡像配置(包括鏡像版本和鏡像高級設置),點擊“部署灰度版本”按鈕,一鍵式部署版本(如圖5)。

idou老師教你學Istio 18 : 如何用istio實現應用的灰度發佈

Figure 5 部署灰度版本

  1. 查看灰度版本狀態

當用戶配置好灰度策略後,可以通過界面實時監控灰度版本的狀態,具體包括實例的健康監控信息、性能監控信息和啓動日誌。待版本啓動進度達到100%時,“配置灰度策略”按鈕被激活,可點擊跳轉至下一步。

idou老師教你學Istio 18 : 如何用istio實現應用的灰度發佈

Figure 6 查看灰度版本狀態

  1. 配置灰度策略

金絲雀發佈支持兩種策略:“基於流量比例發佈”和“基於請求內容發佈”。“基於流量比例發佈”,用戶可以爲兩個版本更改實例數和流量配比,可根據需求將灰度版本的流量配比逐步增大並進行“策略下發”(如圖7)。

idou老師教你學Istio 18 : 如何用istio實現應用的灰度發佈

Figure 7 基於流量比例發佈

“基於請求內容發佈”目前支持基於Cookie內容,自定義Header,操作系統和瀏覽器的規則約束,只有滿足規則約束的訪問流量纔可訪問到灰度版本(如圖8)。

idou老師教你學Istio 18 : 如何用istio實現應用的灰度發佈

Figure 8 基於請求內容發佈

策略下發後,多次訪問Bookinfo應用,可以看到灰度版本與默認版本的訪問界面交替出現(如圖9和圖10)。

idou老師教你學Istio 18 : 如何用istio實現應用的灰度發佈

Figure 9 Bookinfo默認版本訪問界面

idou老師教你學Istio 18 : 如何用istio實現應用的灰度發佈

Figure 10 Bookinfo灰度版本訪問界面

  1. 監測灰度運行狀態

點擊進入“監測灰度運行狀態”,通過查看原版本和灰度版本的實時流量監控(請求每秒訪問次數、請求時延)和健康監控狀態(POD狀態、CPU使用率和物理內存使用率)來確定灰度策略的執行情況(如圖11)。

idou老師教你學Istio 18 : 如何用istio實現應用的灰度發佈

Figure 11 監測灰度運行狀態

如果用戶認爲灰度版本可以上線使用,可以在灰度版本卡片內點擊“接管所有流量”按鈕。用戶確保灰度版本可以穩定運行並決定替換原版本,則點擊原版本卡片的“版本下線”按鈕,結束灰度發佈,完成版本升級(如圖12)。此後如果再次訪問Bookinfo應用,則只會訪問到灰度版本(如圖10)。

idou老師教你學Istio 18 : 如何用istio實現應用的灰度發佈

Figure 12 在歷史記錄中查看已完成的發佈任務

華爲Istio服務的灰度發佈功能,使您的灰度發佈過程更加輕鬆易行。這個一站式的發佈平臺,通過內置的灰度發佈流程引導用戶非常方便地完成一個灰度發佈的過程,使得原本繁瑣又略帶危險性的操作變得非常容易。更多內容,歡迎體驗華爲雲Istio服務。

相關服務請訪問https://support.huaweicloud.com/cce/index.html?cce_helpcenter_2019

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