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