Pilot主要有两个功能
- 服务发现
- 服务配置
Pilot服务发现
1、服务注册表:Pilot从平台获取服务发现数据,并提供统一的服务发现接口。
2、服务注册:无
3、服务发现:Envoy实现服务发现,动态更新负载均衡池。在服务请求时使用对应的负载均衡策略将请求路由到对应的后端。
当服务A要访问服务B的时候,实现proxy会从pilot中获取要访问的服务B的配置列表并更新proxy中的envoy组件配置,而pilot服务则是通过调用kubernetes的api来获取服务b的相关配置。
Pilot服务发现机制中的Adapter机制
- abstract model
- platform adapter 识别各种不同的平台,不是只有kubernetes
Pilot只提供了服务的注册接口,自身么有服务发现功能,真正的服务发现是k8s做的,其实pilot只是一个针对于istio的k8s服务发现封装模块。pilot会持续watch/list k8s的服务发现。
其实整套的istio就是对k8s的链路进行了封装,istio的service就是k8s的service
文档更新时间: 2022-02-27 17:53 作者:张尚