跳转至

系统架构

DCE 5.0 服务网格产品支持多种类型的网格实例管理能力,支持托管多集群网格进行云原生微服务治理能力;用户可将不同来源的集群接入托管网格中,进行统一的流量治理和安全治理等。

从整体架构上讲,服务网格产品可分为三个面:网格全局管理面、网格控制面、网格数据面

系统架构

  • 网格全局管理面

    运行于独立的控制面集群 Global Service Cluster(以下简称 GSC),⽤于对多个服务⽹格实例进⾏统⼀管理,提供友好的管理与控制能力。 网格全局管理面提供了提供了友好的界面化操作和 YAML 原生资源编辑能力,统一的网格实例生命周期管理、权限隔离等。 同时,也负责与 DCE 5.0 其它模块的对接的工作,以将减少其它模块的适配成本。 注意,网格全局管理面仅管理网格实例本身,不参与具体的服务治理事务,因此并不包含 Istio 相关组件。

  • 网格控制面

    运行于 Mesh Control Plane Cluster(以下简称 MCPC),网格控制面本质上也是工作在用户的工作集群,同时具备网格控制面的角色。 Istio 等核心控制组件会安装在该集群,作为网格的核心控制平面,直接对本网格内的网格资源进行管理,进行统一的服务发现和治理策略维护,实际执行、下发各项流量策略和安全策略。 托管网格实例,支持纳管多工作集群,实现多集群的流量治理和安全治理等。专用网格实例,支持单集群的流量治理和安全治理等。

  • 网格数据面

    实际业务应用服务和治理策略生效的工作集群,包含了 Istio 的基本组件,但不会作为控制面使用,仅是提供一个类似管理代理的模式, 主要负责边车注入、证书转发、xDS 转发等业务,同步来自 MCPC 的策略、服务注册信息下发至集群内的所在业务 Sidecar。 当网格类型为托管网格时,网格控制面和数据面一般情况是指不同的 Kubernetes 集群,如果您需要对当前集群纳管且不需要同时管理多集群服务时,建议使用专用网格。

贯穿整体架构的拓展模块主要有:可观测模块、微服务治理模块、应用工作台

  • 可观测模块

    服务网格的可观测能力,借助 DCE 5.0 可观测性模块处理,服务网格通过接口调用的方式获取流量指标信息绘制拓扑图,并为用户提供各种维度的微服务监控图表。

  • 微服务治理模块

    微服务治理模块结合服务网格底座,完成对统一微服务治理的产品建设,赋能其云原生微服务治理和场景化微服务治理能力,方便用户对微服务做统一治理。

  • 应用工作台

    应用工作台是 DCE 5.0 的核心模块,用于提供给用户统一的应用编排、部署、流水线管理、CICD、应用监控、日志查询等能力。

功能架构

graph LR

    mesh([服务网格]) -.- overview[网格概览]
    mesh -.- service[服务管理]
    mesh -.- traffic[流量治理]
        traffic -.- vs[虚拟服务]
        traffic -.- dr[目标规则]
        traffic -.- gw[网关规则]
    mesh -.- security[安全治理]
        security -.- peer[对等身份认证]
        security -.- request[请求身份认证]
        security -.- authz[认证策略]
    mesh -.- monitor[流量监控]
        monitor -.- tp[服务拓扑]
        monitor -.- list[服务监控列表]
    mesh -.- sidecar[边车管理]
        sidecar -.- ns[命名空间边车管理]
        sidecar -.- workload[工作负载边车管理]
    mesh -.- cluster[集群纳管]
    mesh -.- meshgw[网格网关]
    mesh -.- config[网格配置] -.- istio[Istio 资源管理]

click vs "https://docs.daocloud.io/mspider/user-guide/traffic-governance/virtual-service/"
click dr "https://docs.daocloud.io/mspider/user-guide/traffic-governance/destination-rules/"
click gw "https://docs.daocloud.io/mspider/user-guide/traffic-governance/gateway-rules/"
click peer "https://docs.daocloud.io/mspider/user-guide/security/peer/"
click request "https://docs.daocloud.io/mspider/user-guide/security/request/"
click authz "https://docs.daocloud.io/mspider/user-guide/security/authorize/"
click tp "https://docs.daocloud.io/mspider/user-guide/traffic-monitor/conn-topo/"
click list "https://docs.daocloud.io/mspider/user-guide/traffic-monitor/monitoring-indicators/"
click ns "https://docs.daocloud.io/mspider/user-guide/sidecar-management/ns-sidecar/"
click workload "https://docs.daocloud.io/mspider/user-guide/sidecar-management/workload-sidecar/"
click istio "https://docs.daocloud.io/mspider/user-guide/mesh-config/istio-resources/"

 classDef plain fill:#ddd,stroke:#fff,stroke-width:4px,color:#000;
 classDef k8s fill:#326ce5,stroke:#fff,stroke-width:4px,color:#fff;
 classDef cluster fill:#fff,stroke:#bbb,stroke-width:1px,color:#326ce5;
 class mesh,overview,service,traffic,security,monitor,sidecar,cluster,meshgw,config k8s;
 class vs,dr,gw,peer,request,authz,tp,list,ns,workload,global,istio cluster;

如上图所示,服务网格提供了 9 个模块 12 个子模块功能,实现了多样化集群接入、多种模式的网格管理的能力。

评论