Pilot

Pilot负责部署在Istio服务网格中的Envoy实例的生命周期管理。

Pilot's overall architecture.

Pilot架构

如上图所示,Pilot维护了网格中的服务的规范表示,这个表示是独立于底层平台的。Pilot中的平台特定适配器负责适当填充此规范模型。例如,Pilot中的Kubernetes适配器实现必要的控制器来watch Kubernetes API server中pod注册信息、ingress资源以及用于存储流量管理规则的第三方资源的更改。该数据被翻译成规范表示。Envoy特定配置是基于规范表示生成的。

Pilot公开了用于服务发现负载均衡池路由表的动态更新的 API。这些API将Envoy从平台特有的细微差别中解脱出来,简化了设计并提升了跨平台的可移植性。

运维人员可以通过Pilot的Rules API指定高级流量管理规则。这些规则被翻译成低级配置,并通过discovery API分发到Envoy实例。