检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
P或者NAT配置公网出口。 创建与ECS相同VPC的内网域名,该域名为MCI中指定的域名。 将两个ELB实例的公网IP分别添加至集群的记录集。 在ECS上通过域名curl demo.localdev.me访问对应的服务,查询返回,返回200为正常。 跨地域应用故障迁移验证 示例应
概述 流量治理是Istio的核心功能,其目标是提供非侵入的流量治理能力,用户仅仅关注自己的业务逻辑,无需关注服务访问管理。流量治理要解决的问题类似如下: 动态修改服务间访问的负载均衡策略,比如配置一致性哈希将流量转发到特定的服务实例上。 同一个服务有两个版本在线,将一部分流量切到某个版本上。
路由(Ingress) Ingress使用弹性负载均衡作为流量入口对外提供访问,在四层负载均衡访问方式的基础上支持了URI配置,通过对应的URI将访问流量分发到对应的服务。用户可根据域名和路径对转发规则进行自定义,完成对访问流量的细粒度划分。该访问方式由公网弹性负载均衡ELB服务地址
自动摘除流量。 为集群安装CPD组件识别集群 在配置自动切流前,您需要在集群中安装CPD(cluster-problem-detector)组件,以自动探测集群CoreDNS域名解析功能是否正常,并进行上报。 CPD会周期性地解析kubernetes.default域名,将解析结
在左侧导航栏选择“联邦管理 > 域名访问”,列表中的“域名地址”即为域名访问地址。 图7 域名地址 在一台已连接公网的机器上执行如下命令,持续访问域名地址,查看集群应用处理状态。 正常情况下,两个集群上的应用均接收流量,并且各处理50%流量。 while true;do wget
117:80/helloworld),此请求将被转发到对应的目标Service处理。您可添加多条转发策略。 域名:可选项,输入实际访问的域名地址。请确保所填写的域名已注册并备案,一旦配置了域名规则后,必须使用域名访问。 URL:需要注册的访问路径,例如:/healthz。该访问路径需与后端应用暴露的URL一致,否则将返回404错误。
服务路由 服务路由概述 创建服务路由 更新服务路由 服务路由协议 重试 重写 请求超时 流量镜像 CORS 头域控制 故障注入 父主题: 流量治理
重写 开启重写,可以在不修改客户端的访问的目标地址前提下,根据配置重写请求的URL。 YAML设置如下: apiVersion: networking.istio.io/v1beta1 kind: VirtualService metadata: name: ratings-route
服务路由概述 服务路由定义了对特定目标服务的一组流量规则,在形式上表示一个虚拟服务,将满足条件的流量都转发到对应的服务后端。 这个服务后端可以是一个服务,也可以是在流量策略中定义的服务的子集。 服务路由描述了一个具体的服务对象,在该服务对象内包含了对流量的各种处理,其主体是一个服务而不是一组规则,更易于理解。
头域控制 开启头域控制,可以灵活增加、修改和删除指定HTTP头域,非侵入方式管理请求内容。只支持路由上的头域操作,暂不支持对于特定后端的头域操作。 YAML设置如下: apiVersion: networking.istio.io/v1beta1 kind: VirtualService
源命名空间 匹配源服务的命名空间 服务目标参数 版本 选择服务子集版本 流量权重 可以控制实例上接收的流量比例,输入值必须在0到100之间 TCP协议服务路由 所有不满足以上HTTP和TLS条件的流量都会应用TCP流量规则。 表3 TCP协议服务路由参数 匹配条件参数 目标子网 目标IP地址匹配的IP子网
重试 开启重试,服务访问失败时会自动重试,提高总体访问成功率和质量。 YAML设置如下: apiVersion: networking.istio.io/v1beta1 kind: VirtualService metadata: name: ratings-route spec:
CORS 当一个资源向该资源所在服务器的不同的域发起请求时,就会产生一个跨域的HTTP请求。出于安全原因,浏览器会限制从脚本发起的跨域HTTP请求。通过跨域资源共享CORS机制可允许Web应用服务器进行跨域访问控制,使跨域数据传输安全进行。 YAML设置如下: apiVersion:
控制台更新服务路由操作步骤如下: 登录UCS控制台,单击左侧导航栏中的“服务网格”,进入服务网格列表页。 单击服务网格名称,进入服务网格详情页。 在左侧导航栏,单击“流量治理 > 服务路由”,进入服务路由列表页面。 单击列表右侧操作列下的“YAML编辑”。 根据实际需求,例如修改URI更新服务路由,YAML设置如下:
下: 登录UCS控制台,单击左侧导航栏中的“服务网格”,进入服务网格列表页。 单击服务网格名称,进入服务网格详情页。 在左侧导航栏,单击“流量治理 > 服务路由”,进入服务路由列表页面。 单击右上角“YAML创建”,弹出服务路由YAML创建界面。 当前数据选择YAML,在编辑栏进行编辑(根据实际需求调整配置参数):
请求超时 开启请求超时,服务访问超时系统会自动处理,快速失败,避免资源锁定和请求卡顿。 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
(可选)创建域名解析 流量分发功能基于云解析服务为用户的域名提供流量治理功能。当用户需要使用域名访问集群时,首先需要前往云解析服务(DNS)为域名添加解析服务。 DNS支持为华为云注册的域名和第三方注册的域名添加解析,配置方法请参见快速添加网站域名解析。 您需要前往域名注册商处完成域名的注册。
准备工作 添加集群 快速添加附着集群 分布式集群协同治理 创建流量策略 分发应用实例 04 实践 您可以通过UCS完成部署或迁移各种类型的网站和服务,满足您的业务所需。 容器舰队管理 IAM用户配置权限实践 多云集群应用多活容灾 流量分发 多云集群应用故障倒换 常见问题 了解更多常见问题、案例和解决方案