Istio的架构设计在逻辑上分为数据平面和控制平面:
·数据平面 由一系列称为“边车”(sidecar)的智能代理组成,这些代理通过Mixer来控制所有微服务间的网络通信,Mixer是一个通用的策略和遥测中心。
·控制平面 负责管理和配置代理来路由流量,另外,控制平面通过配置Mixer来实施策略与遥测数据收集。
Istio的数据平面主要负责流量转发、策略实施与遥测数据上报;Istio的控制平面主要负责接收用户配置生成路由规则、分发路由规则到代理、分发策略与遥测数据收集。
图1-3展示了Istio的架构。
图1-3 Istio架构(图片来源:Istio官方网站)
用户通过控制平面提供的API提交路由配置规则、策略配置规则与遥测数据收集的配置规则。Pilot把用户提交的配置规则转换成智能代理需要的配置形式,推送给智能代理。智能代理根据用户的配置来执行服务路由、遥测数据收集与服务访问策略。智能代理拦截服务所有流量,并与其他智能代理通信。