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》

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