Istio從邏輯上可以分為數據平面和控制平面:
- 數據平面主要由一系列的智能代理(Envoy)組成,管理微服務之間的網絡通信
- 控制平面負責管理和配置這些智能代理,並動態執行策略
主要由以下組件構成
- Envoy:Lyft開源的高性能代理總線,支持動態服務發現、負載均衡、TLS終止、HTTP/2和gPRC代理、健康檢查、性能測量等功能。Envoy以sidecar的方式部署在相關的服務的Pod中。
- Mixer:負責訪問控制、執行策略並從Envoy代理中收集遙測數據。Mixer支持靈活的插件模型,方便擴展
- Pilot:用戶和Istio的接口,驗證用戶提供的配置和路由策略並發送給Istio組件,管理Envoy實例的生命周期
- Istio-Auth:提供服務間和終端用戶的認證機制