3.1 Istio的核心组件及其功能
Istio总体分两部分:控制面和数据面。
数据面(sidecar):sidecar通过注入的方式和业务容器共存于一个pod,会劫持业务容器的流量,并接受控制面组件的控制,同时会向控制面输出日志、跟踪以及监控数据。
控制面:Istio的核心,管理Istio的所有功能。
3.1.1 Pilot
Pilot是Istio的主要控制点,Istio的流量由Pilot管理。
pilot完成以下任务:
- 从K8s或其他平台的注册中心获取服务信息,完成服务发现过程。
- 读取Istio的各项控制配置,在进行转换之后,将其发给数据面进行实施。
pilot的配置内容被转换为数据面能理解的格式,下发给Sidecar, Sidecar根据pilot指令,将路由、服务、监听、集群等信息转换为本地配置,完成控制行为落地。
3.1.2 Mixer