使用网格拓扑观测同可用区优先路由

服务网格ASM提供查看应用网格拓扑的功能。本文以入口网关访问bookinfo应用为例,介绍如何在ASM中结合网格拓扑观测同可用区优先路由(简称同AZ路由)。

前提条件

步骤一:部署示例应用

  1. 下载示例应用的Helm安装文件

  2. 解压到asm-az-routing目录,在values.yaml文件中指定使用的可用区信息。

    可用区信息示例如下:

    zone1: cn-hangzhou-j
    zone2: cn-hangzhou-k
  3. 执行以下命令,部署示例应用。

    helm install --namespace azdemo azdemo ./
  4. Pod正常运行后,执行以下命令,通过网关访问服务。

    while true; do
      curl -I http://{替换为网关地址}/productpage ;
      echo;sleep 1;
    done

步骤二:配置网格拓扑

  1. 登录ASM控制台,在左侧导航栏,选择服务网格 > 网格管理

  2. 网格管理页面,单击目标实例名称,然后在左侧导航栏,选择可观测管理中心 > 网格拓扑

  3. 网格拓扑页面,单击复制Token并在新页面打开ASM网格拓扑

  4. 登录网格拓扑页面登录Token文本框中粘贴Token,单击登录

  5. 选择目标命名空间,在设置显示信息下拉列表选中流量分布流量请求速率流量动画,取消选中服务节点

    显示示例如下:网格拓扑示例一

步骤三:通过网格拓扑验证路由自动切换

  1. 将部署在第一个可用区的reviews-v1的Pod缩容为0,模拟服务不可用的状态。

    1. 登录容器服务管理控制台,在左侧导航栏选择集群

    2. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择工作负载 > 无状态

    3. 在目标应用右侧操作列下,单击伸缩,配置所需容器组数量0,然后单击确定

  2. 返回步骤二:配置网格拓扑的网格拓扑页面,查看网格拓扑。

    显示示例如下:网格拓扑示例二可以看到productpage v1指向了reviews-v2,即在本可用区的reviews服务不可用时,会自动切换到另一可用区的reviews服务。

步骤四:通过网格拓扑验证同AZ路由

  1. 将部署在第一个可用区的reviews-v1的Pod扩容为1,模拟服务可用的状态。

    1. 登录容器服务管理控制台,在左侧导航栏选择集群

    2. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择工作负载 > 无状态

    3. 在目标应用右侧操作列下,单击伸缩,配置所需容器组数量1,然后单击确定

  2. 返回步骤二:配置网格拓扑的网格拓扑页面,查看网格拓扑。

    显示示例如下:网格拓扑示例三可以看到productpage v1再次指向reviews-v1(本可用区的reviews服务),同AZ路由成功。