Istio 架构概述(Service Mesh 服务网格)
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》
總結
以上是生活随笔為你收集整理的Istio 架构概述(Service Mesh 服务网格)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 对于oracle12c版本介绍
- 下一篇: 直播手机视频app html5,html