检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
操作场景 某些场景下,用户希望能够指定拦截的IP网段,只有IP网段内的请求会被代理拦截;某些场景下,需要配置拦截规则仅针对特定端口的请求生效。以下将介绍两种拦截网段的配置方式。
图1 Istio和Kubernetes的关系 想要让服务支持Istio,只需要在您的环境中部署一个特殊的Sidecar代理,使用Istio控制平面功能配置和管理代理,拦截微服务之间的所有网络通信: 实现HTTP、gRPC、WebSocket和TCP流量的自动负载均衡。
升级影响 网格升级将自动重新注入新版本数据面代理,过程中会滚动重启服务Pod,可能造成短暂服务实例中断。 升级期间请勿进行灰度发布、流量规则配置等操作。
同一个服务有两个版本在线,将一部分流量切到某个版本上。 对服务进行保护,例如限制并发连接数、限制请求数、隔离故障服务实例等。 动态修改服务中的内容,或者模拟一个服务运行故障等。 价值 在Istio中实现这些服务治理功能时无须修改任何应用的代码。
产品优势 简单易用 无需修改任何服务代码,也无需手动安装代理,只需开启应用服务网格功能,即可实现丰富的无侵入服务治理能力。 内置金丝雀、蓝绿灰度发布流程 灰度版本一键部署,流量切换一键生效。 灰度策略可配置,支持流量比例、请求内容(Cookie、OS、浏览器等)。
流量治理要解决的问题类似如下: 动态修改服务间访问的负载均衡策略,比如配置一致性哈希将流量转发到特定的服务实例上; 同一个服务有两个版本在线,将一部分流量切到某个版本上; 服务保护,如限制并发连接数、限制请求数、隔离有故障的服务实例等; 动态修改服务中的内容,或者模拟一个服务运行故障等
如客户端通过错误的端口访问目标服务时,会导致服务访问失败,客户端代理的Outbound日志会记录503UF。 目标服务的服务实例端口不通,会导致服务访问失败,同时服务端Inbound日志会记录503UF。 典型日志 服务端口错误的客户端出流量日志。
图3 公网连接网格控制面 私网连接用于对接华为云Region内部的集群 私网连接网格控制面则是利用VPC间的对等连接功能,打通了不同VPC之间的网络隔离。在创建网格时,要提前规划网格控制面的网段。 图4 私网连接网格控制面 下面要讲一下企业版网格的多集群治理能力。
虚拟机治理 容器与虚拟机共存将是一个长期的过程,但容器化的趋势不变,通过为虚拟机安装代理来实现虚拟机治理的方案,可以有效解决处于过渡阶段时会遇到诸多问题。
使用配置的公钥验证JWT令牌; ⑦ 验证通过后,网格代理将请求转发给服务端; ⑧ 服务端处理请求; ⑨ 服务端返回应答数据给网格代理; ⑩ 网格数据面代理转发应答数据给调用方。
1337 是 Sidecar 代理使用的 uid。 这个 uid 发送的流量并非通过 Istio 的 iptables 规则进行捕获。 应用容器流量仍将像往常一样被捕获。
Sidecar 对Sidecar代理进行整体设置。 VirtualService 用于网格内路由的设置。
在服务间访问时,网格的数据面代理就会代理本地服务和对端进行双向认证、通道加密。这里的双向认证的服务双方可以来自两个不同的集群,从而做到跨集群的透明的端到端双向认证。 细粒度授权:在认证的基础上,就可以进行服务间的访问授权管理,可以控制某个服务,或者服务的一个特定接口进行授权管理。
本文介绍一种通过为虚拟机安装代理来实现虚拟机治理的方案,可以有效解决以上几个问题。
透明流量拦截、基于Iptables流量拦截、支持代理自动注入、支持Namespace级别和工作负载级别的注入管理 √ √ √ 代理形态 支持每Pod的Sidecar模式 √ √ √ 命令行工具 支持使用命令行进行流量策略管理(如istioctl、kubectl) - √ √ 企业版高阶能力
始终有两个版本同时在线,有问题可以快速切换。 蓝绿发布的特点: 在部署应用的过程中,应用始终在线。并且新版本上线过程中,不会修改老版本的任何内容,在部署期间老版本状态不受影响。只要老版本的资源不被删除,可以在任何时间回滚到老版本。
透明流量拦截、基于Iptables流量拦截、支持代理自动注入、支持Namespace级别和工作负载级别的注入管理 √ √ √ 代理形态 支持每Pod的Sidecar模式 √ √ √ 命令行工具 支持使用命令行进行流量策略管理(如istioctl、kubectl) - √ √ 企业版高阶能力
在保留老版本的同时部署新版本,将两个版本同时在线,新版本和老版本相互热备,通过切换路由权重的方式(非0即100)实现应用的不同版本上线或者下线,如果有问题可以快速地回滚到老版本。 图2 蓝绿发布流程 父主题: 灰度发布
以下是一些适用于包年/包月计费模式的业务场景: 稳定业务需求:对于长期运行且资源需求相对稳定的业务,如企业官网、在线商城、博客等,包年/包月计费模式能提供较高的成本效益。
升级过程中始终有两个版本同时在线,有问题可以快速切换。 流量治理 应用流量治理提供可视化云原生应用的网络状态监控,并实现在线的网络连接和安全策略的管理和配置,当前支持连接池、熔断、负载均衡、HTTP头域、故障注入等能力。