多地域集群应用灰度发布

容器服务ACK支持将一个应用发布到不同地域集群,并按照地域进行灰度发布。本文介绍编排模板更新后,A集群保持原版本应用不变,B集群根据编排模板对应用进行更新。

前提条件

已创建2个不同地域的集群,且集群具有访问公网的能力。具体操作,请参见创建Kubernetes托管版集群

背景信息

本文以北京和杭州地域的集群为例,设置北京地域的集群为A集群,杭州地域的集群为B集群。在2个地域集群都部署Red版本的Demo应用,A集群保持Red版本的Demo应用不变,B集群根据编排模板更新为Green版本的Demo应用。

步骤一:部署应用到集群

本文以Red版本的Demo应用为例,将同一个应用部署到2个不同地域集群。具体操作,请参见使用编排模板部署应用到多集群

步骤二:更新应用的编排模板。

  1. 登录容器服务管理控制台
  2. 在控制台左侧导航栏,选择市场 > 编排模板
  3. 模板列表页面单击Demo应用的目标模板下的详情
  4. 在模板详情页面修改模板信息,将镜像地址改为registry.cn-hangzhou.aliyuncs.com/acs/rollouts-demo:green,然后单击创建

步骤三:设置应用灰度发布

  1. 登录容器服务管理控制台
  2. 在控制台左侧导航栏,选择多集群 > 应用中心
  3. 应用中心页面单击Demo应用操作列的创建变更
  4. 创建变更配置向导页面中单击下一步
  5. 发布配置配置向导页面中目标集群区域选中B集群,单击开始发布
  6. 发布确认对话框中单击确定

结果验证

  1. 获取应用的端点。
    1. 登录容器服务管理控制台
    2. 在控制台左侧导航栏,单击集群
    3. 集群列表页面中,单击A集群名称或者A集群右侧操作列下的详情
    4. 在集群管理页左侧导航栏,选择网络 > 路由
    5. 路由页面查看Demo的端点。
  2. hosts文件输入以下内容。
    <端点> app.demo.example.com 
  3. 在浏览器中访问app.demo.example.com

    浏览器显示以下页面。

    red
  4. hosts文件删除步骤2绑定的地址,重复步骤1步骤3,访问B集群部署的应用,显示以下页面。
    结果验证
    可以看到,A集群部署的是Red版本的应用,B集群部署的是Green版本的应用,说明多地域集群应用灰度发布成功。