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
主要职责两个:预检和汇报。
Mixer的简单工作流程如下:
(1)用户将Mixer配置发送到K8s中。
(2)Mixer通过对K8s资源的监听,获知配置变化。
(3)网格中的服务在每次调用之前,都向Mixer发出预检请求,查看调用是否允许执行。每次调用之后,都发出报告信息,向Mixer汇报在调用过程中产生的
监控跟踪数据。
(4)Mixer中包含多个被称为Adapter的组件,这些组件用来处理在Mixer中接收的预检和报告数据,从而完成Mixer的各种功能。
3.1.3 Citadel
用于证书管理的,在集群中启用了服务之间的加密后,Citadel负责为集群中各个服务在统一CA的条件下生成证书,并下发给各个服务中的Sidecar,服务之间 的TLS就依赖这些证书完成校验过程。
原文地址:https://www.cnblogs.com/liufei1983/p/10335952.html
时间: 2024-10-26 04:20:04