Istio流量管理

流量管理 #

istio流量管理

组件 #

Pilot流量管理
Pilot Design Overview (来自 Istio old_pilot_repo)
图例说明:图中红色的线表示控制流,黑色的线表示数据流。蓝色部分为和Pilot相关的组件。

  • 控制面组件

    • Discovery Services
    • istio crd
  • 数据面组件

    • Pilot-agent
    • Envoy

Istio 庖丁解牛1:组件概览 腾讯云 钟华

流量管理模型 #
  • VirtualService
    定义了一系列针对指定服务的流量路由规则;
    将流量路由到给定目标地址;
    通常和目标规则(DestinationRule)成对出现;

  • DestinationRule
    定义虚拟服务路由目标地址真实地址,即子集(subset)
    设置负载均衡方式: round robin(默认),随机,权重,最少请求数;

  • ServiceEntry

    • 外部服务定义: 把外部服务注册到网格中
    • 功能:
      • 为外部服务转发请求
      • 添加超时重试等策略
      • 扩展网格
  • Gateway
    描述了一个负载均衡器,用于承载网格边缘的进入和发出连接。

  • EnvoyFilter
    描述了针对代理服务的过滤器,用来定制由 Istio Pilot 生成的代理配置.

  • Sidecar
    调整Envoy代理接管的端口和协议;
    限制Envoy代理可访问的服务;

总结
管理内部流量:VirtualService + DestinationRule
管理外部流量:Gateway
管理服务:ServiceEntry

参考 #

  1. Istio流量管理实现机制深度解析 赵化冰
  2. 腾讯云容器团队内部Istio专题分享 腾讯云 钟华
  3. 极客时间 《Service Mesh实战 - 核心功能之流量控制:Istio是如何实现流量控制功能的?》 马若飞

官方Examples 0-5 G #

  1. 流量管理 istio官网 引
  2. 配置请求路由 done
  3. 流量转移 done
  4. TCP 流量转移 done ,验证有点问题
  5. 设置请求超时 done
  6. 熔断 done

最佳实践 #

流量管理最佳实践