服務網格ASM提供查看應用網格拓撲的功能。本文以入口網關訪問bookinfo應用為例,介紹如何在ASM中結合網格拓撲觀測同可用區優先路由(簡稱同AZ路由)。
前提條件
已創建ASM實例。具體操作,請參見創建ASM實例。
已創建Kubernetes托管版集群。具體操作,請參見創建Kubernetes托管版集群。
已添加集群到ASM實例。具體操作,請參見添加集群到ASM實例。
ACK集群中的節點存在至少兩個可用區,本示例中分別使用cn-hangzhou-j和cn-hangzhou-k,您可以在容器服務管理控制臺查看集群節點所對應的ECS所在地域及可用區。更多信息,請參見地域和可用區。
已實現入口網關和網格拓撲的訪問。具體操作,請參見入門指引。
已安裝v3版本Helm客戶端。具體操作,請參見Helm。
步驟一:部署示例應用
下載示例應用的Helm安裝文件。
解壓到asm-az-routing目錄,在values.yaml文件中指定使用的可用區信息。
可用區信息示例如下:
zone1: cn-hangzhou-j zone2: cn-hangzhou-k
執行以下命令,部署示例應用。
helm install --namespace azdemo azdemo ./
Pod正常運行后,執行以下命令,通過網關訪問服務。
while true; do curl -I http://{替換為網關地址}/productpage ; echo;sleep 1; done
步驟二:配置網格拓撲
登錄ASM控制臺,在左側導航欄,選擇 。
在網格管理頁面,單擊目標實例名稱,然后在左側導航欄,選擇 。
在網格拓撲頁面,單擊復制Token并在新頁面打開ASM網格拓撲。
在登錄網格拓撲頁面登錄Token文本框中粘貼Token,單擊登錄。
選擇目標命名空間,在設置顯示信息下拉列表選中流量分布、流量請求速率和流量動畫,取消選中服務節點。
顯示示例如下:
步驟三:通過網格拓撲驗證路由自動切換
將部署在第一個可用區的reviews-v1的Pod縮容為0,模擬服務不可用的狀態。
登錄容器服務管理控制臺,在左側導航欄選擇集群。
在集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇 。
在目標應用右側操作列下,單擊伸縮,配置所需容器組數量為0,然后單擊確定。
返回步驟二:配置網格拓撲的網格拓撲頁面,查看網格拓撲。
顯示示例如下:可以看到productpage v1指向了reviews-v2,即在本可用區的reviews服務不可用時,會自動切換到另一可用區的reviews服務。
步驟四:通過網格拓撲驗證同AZ路由
將部署在第一個可用區的reviews-v1的Pod擴容為1,模擬服務可用的狀態。
登錄容器服務管理控制臺,在左側導航欄選擇集群。
在集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇 。
在目標應用右側操作列下,單擊伸縮,配置所需容器組數量為1,然后單擊確定。
返回步驟二:配置網格拓撲的網格拓撲頁面,查看網格拓撲。
顯示示例如下:可以看到productpage v1再次指向reviews-v1(本可用區的reviews服務),同AZ路由成功。