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》

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章