ASM網關提供了圖形化建立目標規則和虛擬服務的功能,無需編寫YAML檔案,簡化流量管理操作。本文介紹如何使用圖形化的方式建立流量策略和路由策略。
前提條件
已添加叢集到ASM執行個體。具體操作,請參見添加叢集到ASM執行個體。
已部署入口網關。具體操作,請參見建立入口網關。
已部署應用到ASM執行個體關聯的叢集。具體操作,請參見在ASM執行個體關聯的叢集中部署應用。
已為命名空間注入Sidecar。具體操作,請參見啟用自動注入。
已擷取ASM網關地址。具體操作,請參見擷取入口網關地址。
背景資訊
本文以Reviews服務為例,使用圖形化的方式設定服務的負載平衡、串連池等流量策略,流量策略建立成功後,將自動產生對應目標規則的YAML檔案。以Bookinfo服務為例,使用圖形化的方式為Bookinfo服務建立/productpage、/login等路由策略,從而可以通過/productpage等路徑訪問到Bookinfo服務。
建立流量策略
匯入上遊服務。
在ASM網關中匯入服務,從而關連網關與服務。
登入ASM控制台,在左側導覽列,選擇 。
在網格管理頁面,單擊目標執行個體名稱,然後在左側導覽列,選擇 。
在入口網關頁面,單擊目標網關的名稱。
在網關概覽頁面左側導覽列,單擊上遊服務。
在上遊服務頁面,單擊匯入服務。
在匯入服務頁面,選擇命名空間,選中reviews服務,單擊表徵圖,然後單擊確認。
對服務進行版本管理。
按版本給服務的執行個體進行分組,本文以reviews服務為例,將reviews服務分為v1、v2、v3。
在上遊服務頁面,單擊reviews服務右側操作列下的版本管理。
在版本管理頁面,單擊添加服務版本(子集),輸入版本名稱為v1,單擊添加標籤,設定標籤名為version,標籤值為v1。
單擊添加服務版本(子集),輸入版本名稱為v2,單擊添加標籤,設定標籤名為version,標籤值為v2。
再次單擊添加服務版本(子集),輸入版本名稱為v3,單擊添加標籤,設定標籤名為version,標籤值為v3,然後單擊建立。
建立流量策略。
在上遊服務頁面,單擊reviews服務右側操作列下的流量策略。
在流量策略頁面,單擊添加策略,選擇版本流量策略,選擇v3版本,開啟負載平衡開關,選擇簡單模式,設定均衡方式為隨機,然後單擊提交。
可選:查看流量策略建立成功後產生的目標規則的YAML檔案。
在上遊服務頁面,單擊reviews服務右側操作列下的查看YAML,在預覽對話方塊,查看YAML檔案,確認無誤後,單擊確認。
說明您也可以在網格詳情頁面左側導覽列,選擇
。在目標規則頁面,單擊目標規則右側操作列下的查看YAML。在編輯對話方塊,查看產生的目標規則的YAML檔案。
建立路由策略
匯入上遊服務。
在ASM網關中匯入服務,從而關連網關與服務。
登入ASM控制台,在左側導覽列,選擇 。
在網格管理頁面,單擊目標執行個體名稱,然後在左側導覽列,選擇 。
在入口網關頁面,單擊目標網關的名稱。
在網關概覽頁面左側導覽列,單擊上遊服務。
在上遊服務頁面,單擊匯入服務。
在匯入服務頁面,選擇命名空間,選中productpage服務,單擊表徵圖,然後單擊確認。
建立路由策略。
建立/productpage路由。
在網關概覽頁面左側導覽列,單擊路由管理,然後單擊建立。
在設定路由資訊設定精靈,進行相關配置,單擊下一步。
配置項
說明
路由類型
選擇路由類型,本文配置為http。
命名空間
選擇命名空間,本文配置為default。
路由名稱
輸入路由名稱,本文配置為productpage-route。
描述
輸入路由描述,本文配置為productpage路由。
優先順序
路由配置存在優先順序關係,優先順序數字越小,表示優先順序越高,如果URI被多個路由規則都能進行匹配,優先匹配高優先順序的,本文配置為3。
匹配規則
設定URL匹配,只有符合要求的URL才能路由到目標服務。
開啟匹配請求的URI開關,配置匹配方式為精確,匹配內容為/productpage。
說明您也可以單擊添加Header匹配規則,設定Header匹配。
在設定路由目的地設定精靈,進行相關配置,然後單擊下一步。
配置項
說明
選擇上遊服務
設定路由策略生效的服務。本文選擇productpage。
連接埠
非必填項。設定上遊服務中暴露出來的指定連接埠。上遊服務可能暴露多個連接埠,如果有多個連接埠,需要進行指定。
版本
設定路由策略生效的版本。
權重
設定路由的目標服務的流量權重。
在進階選項設定精靈,開啟故障注入開關,開啟請求延時開關,設定延時值為4s,故障注入百分比為100,單擊建立。
建立/static路由。
在路由管理頁面,單擊建立。
在設定路由資訊設定精靈,進行相關配置,單擊下一步。
配置項
說明
路由類型
選擇路由類型,本文配置為http。
命名空間
選擇命名空間,本文配置為default。
路由名稱
輸入路由名稱,本文配置為static。
描述
輸入路由描述,本文配置為static資源。
優先順序
路由配置存在優先順序關係,優先順序數字越小,表示優先順序越高,如果URI被多個路由規則都能進行匹配,優先匹配高優先順序的,本文配置為0。
匹配規則
設定URL匹配,只有符合要求的URL才能路由到目標服務。
開啟匹配請求的URI開關,配置匹配方式為首碼,匹配內容為/static。
建立/static路由的後續步驟與建立/productpage路由相同,具體操作,請參見建立productpage路由 。
建立/login路由。
在路由管理頁面,單擊建立。
在設定路由資訊設定精靈,進行相關配置,然後單擊下一步。
配置項
說明
路由類型
選擇路由類型,本文配置為http
命名空間
選擇命名空間,本文配置為default。
路由名稱
輸入路由名稱,本文配置為login。
描述
輸入路由描述,本文配置為登入請求路由。
優先順序
路由配置存在優先順序關係,優先順序數字越小,表示優先順序越高,如果URI被多個路由規則都能進行匹配,優先匹配高優先順序的,本文配置為0。
匹配規則
設定URL匹配,只有符合要求的URL才能路由到目標服務。
開啟匹配請求的URI開關,配置匹配方式為首碼,匹配內容為/login。
建立/login路由的後續步驟與建立/productpage路由相同,具體操作,請參見建立productpage路由 。
建立/logout路由。
在路由管理頁面,單擊建立。
在設定路由資訊設定精靈,進行相關配置,然後單擊下一步。
配置項
說明
路由類型
選擇路由類型,本文配置為http。
命名空間
選擇命名空間,本文配置為default。
路由名稱
輸入路由名稱,本文配置為logout。
描述
輸入路由描述,本文配置為登出路由。
優先順序
路由配置存在優先順序關係,優先順序數字越小,表示優先順序越高,如果URI被多個路由規則都能進行匹配,優先匹配高優先順序的,本文配置為0。
匹配規則
設定URL匹配,只有符合要求的URL才能路由到目標服務。
開啟匹配請求的URI開關,配置匹配方式為首碼,匹配內容為/logout。
建立/logout路由的後續步驟與建立/productpage路由相同,具體操作,請參見建立productpage路由 。
建立/api/v1/products路由。
在路由管理頁面,單擊建立。
在設定路由資訊設定精靈,進行相關配置,然後單擊下一步。
配置項
說明
路由類型
選擇路由類型,本文配置為http。
命名空間
選擇命名空間,本文配置為default。
路由名稱
輸入路由名稱,本文配置為products-route。
描述
輸入路由描述,本文配置為product資訊。
優先順序
路由配置存在優先順序關係,優先順序數字越小,表示優先順序越高,如果URI被多個路由規則都能進行匹配,優先匹配高優先順序的,本文配置為0。
匹配規則
設定URL匹配,只有符合要求的URL才能路由到目標服務。
開啟匹配請求的URI開關,配置匹配方式為首碼,匹配內容為/api/v1/products。
建立/api/v1/products路由的後續步驟與建立/productpage路由相同,具體操作,請參見建立productpage路由 。
驗證路由策略是否生效。
在Google瀏覽器地址欄,輸入http://{入口網關的IP地址}/productpage。
樣本效果如下。
在Bookinfo頁面右上方,單擊Sign in。
在Please sign in輸入任意帳號和密碼,單擊Sign in。
可以看到能夠正常登入到Bookinfo。
您還可以自行使用/logout、/static、/api/v1/products訪問Bookinfo服務進行驗證。
在Google瀏覽器右上方,單擊表徵圖,選擇 。
重新整理http://{入口網關服務的IP地址}/productpage。
在Network頁簽,可以看到約4s的延遲。
可選:查看路由策略建立成功後產生的虛擬服務的YAML檔案。
在網格詳情頁面左側導覽列,選擇 。
在虛擬服務頁面,單擊目標虛擬服務右側操作列下的查看YAML。
在編輯對話方塊,查看產生的虛擬服務的YAML檔案。確認無誤後,單擊確定。
相關操作
查看服務詳情
查看匯入服務的是否注入Sidecar、地區等資訊。
登入ASM控制台,在左側導覽列,選擇 。
在網格管理頁面,單擊目標執行個體名稱,然後在左側導覽列,選擇 。
在入口網關頁面,單擊目標網關的名稱。
在網關概覽頁面左側導覽列,單擊上遊服務。
在上遊服務頁面,單擊目標服務右側操作列下的服務詳情。
在服務詳情頁面,查看服務是否注入Sidecar、地區等資訊。
路由下線
下線路由策略,使該路由策略失效。
登入ASM控制台,在左側導覽列,選擇 。
在網格管理頁面,單擊目標執行個體名稱,然後在左側導覽列,選擇 。
在入口網關頁面,單擊目標網關的名稱。
在網關概覽頁面左側導覽列,單擊路由管理。
在路由管理頁面,單擊目標路由右側操作列下的下線。
在確認對話方塊,單擊確定。
驗證路由下線是否成功。
在Google瀏覽器地址欄,輸入http://{入口網關的IP地址}/productpage。
在Bookinfo頁面右上方,單擊Sign in。
在Please sign in輸入任意帳號和密碼,單擊Sign in。
可以看到頁面顯示找不到網頁,說明目標路由策略失效,路由下線成功。
您可以通過以下方式上線路由策略,使路由策略中重新生效:
在路由管理頁面,單擊目標路由右側操作列下的上線,然後在確認對話方塊,單擊確定。