IstioV1.1 組件:
istio-pilot
1.istio-pilot是Istio的控制中樞Pilot服務
2.涵蓋服務註冊中心和ConfigServer等管理服務
3.向數據面下發規則(包括:VirtualService DestinationRule、Gateway、ServiceEntry等流量治理規則,認證授權等安全規則)
4.Pilot負責將各種規則轉換成Envoy可以識別的格式,通過標準的xDS協議發送給Envoy,指導Envoy完成動作
Mixer組件
istio-telemetry(Mixer)
1.專門用於收集遙測數據的Mixer服務組件。
2.在部署上,Istio控制面部署了兩個Mixer組件:istio-telementry(收集遙測數據)和istio-policy(策略執行)
3.調用方式:當網格中兩個服務間有調用發生時,服務的代理Envoy就會上報遙測數據給istio-telemetry服務組件,istio-telemetry根據配置生成訪問Metric等數據分發給後端的遙測服務。
4.架構上,Mixer作爲中介解耦數據面和不同後端的對接,以提供靈活性和擴展能力
5.運維上,運維人員可以動態配置各種遙測後端,來收集指定的服務運行數據
istio-policy(Mixer)
1.數據面在轉發服務的請求前調用istio-policy的Check接口檢查是否允許訪問,Mixer根據配置將請求轉發到對應的Adapter做對應檢查,給代理返回允許訪問或者拒絕。
2.可以對接:配額、授權、黑白名單等不同的控制後端,對服務間的訪問進行可擴展控制
istio-citadel
1.Istio的核心安全組件,提供自動生成、分發、輪換與撤銷密鑰和證書的功能
2.代理兩端服務實現雙向TLS認證、通道加密、訪問授權等安全功能
istio-galley
1.不直接向數據面提供業務能力
2.在控制面上向其他組件提供支持。作爲負責配置管理的組,驗證配置信息的格式和內容的正確性,並將這些配置信息提供給管理面的Pilot和Mixer服務使用。
istio-sidecar-injector
1.負責自動注入的組件,生成Sidercar容器(這個過程對用戶透明)
2.開啓自動注入,在Pod創建時就會自動調用istio-sidecar-injector向Pod中注入Sidercar容器。
istio-proxy
1.Istio數據面的輕量代理
2.istio-proxy=Envoy+pilot-agent守護進程
istio-ingressgateway
1.服務網關:從網格外訪問網格內的服務就是通過該Gateway進行。
2.是一個Loadbalancer類型的Service,開放了一組端口(注意:其他服務組件只有一兩個端口)
其他組件
以上istio前綴的是istio的自有組件,在集羣中一般還安裝Jaeger-agent、Jaeger-collector、Jaeger-query、Kiali、Prometheus、Tracing、Zipkin組件,這些組件提供了Istio的調用鏈、監控等功能,可以選擇安裝來完成完整的服務監控管理功能
Envoy
在通信上,Envoy通過gRPC流式訂閱Pilot的配置資源
讀書筆記《雲原生服務網格Istio》