检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
服务路由概述 服务路由定义了对特定目标服务的一组流量规则,在形式上表示一个虚拟服务,将满足条件的流量都转发到对应的服务后端。 这个服务后端可以是一个服务,也可以是在流量策略中定义的服务的子集。 服务路由描述了一个具体的服务对象,在该服务对象内包含了对流量的各种处理,其主体是一个服务而不是一组规则,更易于理解。
详细操作请参考域名注册商网站操作指导。 步骤三:在UCS添加调度策略 DNS解析添加完成后,回到UCS控制台“创建流量策略”页面,选择新添加的域名。如域名未同步,可单击右侧按钮进行刷新。 图2 创建流量策略 参考创建流量策略,为新添加的域名添加调度策略。 图3 调度策略 检验新增调度策略是否生效。 以Lin
通过MCI实现跨集群业务流量分发 应用场景 在分布式集群场景下,为了提供低延迟的服务,企业的应用可能部署在不同区域、不同厂商的云端上,在某个地区集群发生故障时,该地区业务也随之会受到影响。使用MCI,可进行跨地域集群的流量分发,实现跨地域的应用故障迁移。 图1 MCI实现跨集群流量分发架构图 准备工作
重写 开启重写,可以在不修改客户端的访问的目标地址前提下,根据配置重写请求的URL。 YAML设置如下: apiVersion: networking.istio.io/v1beta1 kind: VirtualService metadata: name: ratings-route
源命名空间 匹配源服务的命名空间 服务目标参数 版本 选择服务子集版本 流量权重 可以控制实例上接收的流量比例,输入值必须在0到100之间 TCP协议服务路由 所有不满足以上HTTP和TLS条件的流量都会应用TCP流量规则。 表3 TCP协议服务路由参数 匹配条件参数 目标子网 目标IP地址匹配的IP子网
重试 开启重试,服务访问失败时会自动重试,提高总体访问成功率和质量。 YAML设置如下: apiVersion: networking.istio.io/v1beta1 kind: VirtualService metadata: name: ratings-route spec:
控制台更新服务路由操作步骤如下: 登录UCS控制台,单击左侧导航栏中的“服务网格”,进入服务网格列表页。 单击服务网格名称,进入服务网格详情页。 在左侧导航栏,单击“流量治理 > 服务路由”,进入服务路由列表页面。 单击列表右侧操作列下的“YAML编辑”。 根据实际需求,例如修改URI更新服务路由,YAML设置如下:
下: 登录UCS控制台,单击左侧导航栏中的“服务网格”,进入服务网格列表页。 单击服务网格名称,进入服务网格详情页。 在左侧导航栏,单击“流量治理 > 服务路由”,进入服务路由列表页面。 单击右上角“YAML创建”,弹出服务路由YAML创建界面。 当前数据选择YAML,在编辑栏进行编辑(根据实际需求调整配置参数):
头域控制 开启头域控制,可以灵活增加、修改和删除指定HTTP头域,非侵入方式管理请求内容。只支持路由上的头域操作,暂不支持对于特定后端的头域操作。 YAML设置如下: apiVersion: networking.istio.io/v1beta1 kind: VirtualService
CORS 当一个资源向该资源所在服务器的不同的域发起请求时,就会产生一个跨域的HTTP请求。出于安全原因,浏览器会限制从脚本发起的跨域HTTP请求。通过跨域资源共享CORS机制可允许Web应用服务器进行跨域访问控制,使跨域数据传输安全进行。 YAML设置如下: apiVersion:
请求超时 开启请求超时,服务访问超时系统会自动处理,快速失败,避免资源锁定和请求卡顿。 YAML设置如下: apiVersion: networking.istio.io/v1beta1 kind: VirtualService metadata: name: my-productpage-rule
故障注入 故障注入是一种有效的测试方法,它能够将错误引入系统,以确保系统能够承受错误的并从错误中恢复。开启故障注入,可以通过配置灵活注入延迟或特定错误,开展故障测试。 以延迟故障注入为例,YAML设置如下: route: - destination: host:
重定向 开启重定向,可以在客户端将对目标地址的请求重定向到配置的新的目标地址。 YAML设置如下: apiVersion: networking.istio.io/v1beta1 kind: VirtualService metadata: name: ratings-route
单击服务名,进入“服务发现”详情页。 可以查看到服务所在版本。 单击服务所在版本的“版本监控”,可以查看到如下参数信息。 入流量吞吐量(RPS) 出流量吞吐量(RPS) 平均时延 入流量错误率 出流量错误率 父主题: 服务管理
目标服务:选择4中创建的服务。 流量配比模式:选择“自适应模式”,流量解析根据各集群后端实例数量自动分配权重。在本示例中,ccecluster01和ccecluster02集群的实例数均为1,那么正常情况下,两个集群将按照1:1的配比接收流量,如图6所示。 图5 配置流量配比 图6 流量配比拓扑图 多活容灾场景验证
应用服务网格支持对运行在Kubernetes集群上的无状态负载(Deployment)进行流量治理和流量全方位监控,将服务加入网格后,可以实现服务的灰度发布、限流、熔断、会话保持等流量治理能力以及一站式、图形化拓扑的流量健康与性能、调用链监控。本节介绍如何为网格添加服务和删除服务。 约束与限制
基于权重的分流 ASM能够提供基于权重的流量控制,根据设定的权重值将流量分发给指定的版本。 控制台更新基于权重的分流 登录UCS控制台,在左侧导航栏中单击“服务网格”。 单击服务网格名称,进入详情页。 在左侧导航栏,单击“服务中心”下的“网格服务”,进入服务列表。 单击服务名,进入服务详情页。
路由(Ingress) Ingress使用弹性负载均衡作为流量入口对外提供访问,在四层负载均衡访问方式的基础上支持了URI配置,通过对应的URI将访问流量分发到对应的服务。用户可根据域名和路径对转发规则进行自定义,完成对访问流量的细粒度划分。该访问方式由公网弹性负载均衡ELB服务地址
路由 Ingress使用弹性负载均衡作为流量入口对外提供访问,在四层负载均衡访问方式的基础上支持了URI配置,通过对应的URI将访问流量分发到对应的服务。用户可根据域名和路径对转发规则进行自定义,完成对访问流量的细粒度划分。该访问方式由公网弹性负载均衡ELB服务地址、设置的访问端口组成、定义的URI组成,例如:10
多集群负载均衡:MCI为用户提供统一入口,将流量分发到多个Kubernetes集群中,与集群所处位置无关。 流量路由:使用MCI,用户可根据不同条件(URL、HTTP头、源IP等)自定义转发规则,将流量路由到不同集群,实现更灵活的流量控制。 高可用:MCI通过健康检查和流量自动切换,实现多集群、多区域的高可用性。