本期Istio技术实践专题的主题是Istio的流量策略。
虚拟服务(Virtual Service)以及目标规则(Destination Rule)是 Istio 流量路由的两大基石。后面我们会专门讲一个灰度发布的专题,Virtual Service和灰度发布会一起讲,今天主要讲述Destination Rule的功能和应用,分三个部分来阐述:
设置负载均衡
熔断策略
连接池策略
流量管理的本质就是采用策略控制流量的流向和大小。Istio流量管理模型依赖于随服务一起部署的 Envoy 代理,网格发送和接收的所有流量(数据平面流量)都通过 Envoy 进行代理。基于此模型可以轻松引导和控制网格周围的流量,而无需对服务进行任何更改。
Istio 自身的服务注册表维护了一组服务以及这些服务背后真正的执行端点,Istio 使用服务注册表产生 Envoy 配置。使用此服务注册表,Envoy 代理就可以将流量定向到相关服务。
虽然 Istio 的基本服务发现和负载均衡已经提供了一个有效的服务网格,但 Istio 提供的功能远不止这么多。在许多情况下,都希望对网格流量进行更加细粒度的控制。比如,可能希望将流量以百分比分配到不同的服务版本,作为 A/B 测试的一部分,或者将不同的负载均衡策略应用于特定服务实例版本,又或者你可能还想将特殊规则应用于进出网格的流量等等。以上这些都可以通过使用 Istio 流量管理 API ——虚拟服务(Virtual Service)以及目标规则(Destination Rule)实现。
“Istio流量策略控制” 视频公开课
今天我们主要讨论Destination Rule。前面我们提到的负载均衡、熔断策略、连接池策略都是配置在Destination Rule上的。
Destination Rule定义在发生路由后应用于服务流量的策略。这些规则指定负载平衡的配置,Sidecar的连接池大小以及离群值检测设置,以从负载平衡池中检测和清除不正常的主机。我们可以将虚拟服务视为将流量如何路由到给定目标地址,然后使用目标规则来配置该目标的流量。在评估虚拟服务路由规则之后,目标规则将应用于流量的“真实”目标地址。
Destination rules 是 Istio 流量路由的关键功能,它不能独自使用,必须跟 Virtual Service 共同发挥作用。当 Destination rules 跟 Virtual Service 共同使用的时候,Virtual Service 决定将流量路由到逻辑地址,而 Destination rules 则决定流量路由到物理地址。
视频中,我们会详细介绍Destination Rule的功能和应用。
视频详解“Istio流量控制”
https://v.qq.com/x/page/w0972p3lquh.html