Istio 架构介绍
pilot-agent — 运行在 sidecar 里,主要作用是:
- 动态的生成 envoy 的设置
- 启动 envoy 进程
- 监控 envoy 进程
1 | kubectl get pods -n istio-system -owide |
Discovery Services:pilot-discovery,扮演服务注册中心、istio控制面到envoy之间的桥梁作用:
1)监控服务注册中心 (例如:k8s) 的服务注册情况。k8s下会监控service、endpoint、pod、node等资源信息。
2)监控 istio 控制面信息变化,在k8s下,会监控routerule、virtualservice、Gateway、EgressRule、
ServiceEntry等以k8s CRD形式存在的 istio 控制面配置信息。
3)将1)和2)的两类信息合并组合为envoy可以理解的xds配置信息,以gRPC协议提供给envoy
Agent : pilot-agent,生成envoy配置文件,管理envoy生命周期:
1)生成envoy的配置
2)启动envoy
3)监控和管理envoy的运行情况
Mixer :在 1.5 之后就被废弃了