服务网格 ASM(Service Mesh)为网关提供了直观的图形化界面,您可以直接在控制台创建目标规则和虚拟服务,而无需编写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。  - 可以看到页面显示找不到网页,说明目标路由策略失效,路由下线成功。 说明- 您也可以通过以下方式上线路由策略,使路由策略中重新生效: - 在路由管理页面,单击目标路由右侧操作列下的上线,然后在确认对话框,单击确定。