Service MeshASM提供查看應用網格拓撲的功能。本文以入口網關訪問bookinfo應用為例,介紹如何在ASM中結合網格拓撲觀測同可用性區域優先路由(簡稱同AZ路由)。
前提條件
已建立ASM執行個體。具體操作,請參見建立ASM執行個體。
已建立Kubernetes託管版叢集。具體操作,請參見建立ACK託管叢集。
已添加叢集到ASM執行個體。具體操作,請參見添加叢集到ASM執行個體。
ACK叢集中的節點存在至少兩個可用性區域,本樣本中分別使用cn-hangzhou-j和cn-hangzhou-k,您可以在Container Service管理主控台查看叢集節點所對應的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,類比服務停用狀態。
登入Container Service管理主控台,在左側導覽列選擇叢集。
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇 。
在目標應用右側操作列下,單擊伸縮,配置所需容器組數量為0,然後單擊確定。
返回步驟二:配置網格拓撲的網格拓撲頁面,查看網格拓撲。
顯示樣本如下:可以看到productpage v1指向了reviews-v2,即在本可用性區域的reviews服務不可用時,會自動切換到另一可用性區域的reviews服務。
步驟四:通過網格拓撲驗證同AZ路由
將部署在第一個可用性區域的reviews-v1的Pod擴容為1,類比服務可用的狀態。
登入Container Service管理主控台,在左側導覽列選擇叢集。
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇 。
在目標應用右側操作列下,單擊伸縮,配置所需容器組數量為1,然後單擊確定。
返回步驟二:配置網格拓撲的網格拓撲頁面,查看網格拓撲。
顯示樣本如下:可以看到productpage v1再次指向reviews-v1(本可用性區域的reviews服務),同AZ路由成功。