0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

服务网格DPU卸载解决方案

DPU高性能云异构算力解决方案 来源:DPU高性能云异构算力解决 作者:DPU高性能云异构算 2024-09-20 16:25 次阅读

1.背景介绍

1.1.业务背景

服务网格(Service Mesh)是微服务架构中的一种重要技术,它主要处理服务之间的通信,为服务间的信息交换提供更安全、更快速且更可靠的基础设施层。服务网格将服务治理从业务逻辑中剥离出来,拆解为独立的进程,实现异构系统的统一治理和增强网络安全。

一个典型的服务网格部署示意图如下:

wKgZombnqFGATIM0AAAzm2o4uas733.png

其中绿色方块为应用服务,蓝色方块为代理。应用服务之间通过代理进行通信,整个服务通信形成图中的蓝色网络连线,图中所有蓝色部分就形成了服务网格。

服务网格的主要特点包括:

  • 无侵入性:服务网格的设计理念是将通信和管理逻辑与业务逻辑解耦,使得业务逻辑无需关注通信细节,从而实现了对业务代码的无侵入性。
  • 统一治理:通过服务网格,可以实现对微服务架构中所有服务的统一治理,包括服务发现、负载均衡、安全认证、监控和跟踪等功能。
  • 可扩展性:服务网格支持多种微服务框架和服务治理能力,能够轻松扩展以支持更多的服务和场景。

服务网格的架构通常包括控制平面和数据平面,其中控制平面用于配置、管理和监控数据平面中的Sidecar代理,提供服务发现、负载均衡、安全认证等功能。

数据平面主要由边车Sidecar组成,它以轻量级的网络代理形式存在,与每个微服务实例部署在同一个主机或容器中,作为服务的附属组件运行。边车的主要职责是拦截和处理服务之间的通信流量,并与控制平面进行交互,实现服务发现、负载均衡、安全认证、监控和跟踪等功能。

边车的工作流程通常包括以下几个步骤:

  • 拦截通信流量:边车代理拦截服务之间的所有入站和出站请求和响应。
  • 服务发现:边车代理向服务注册中心注册服务实例,并根据需要动态地发现和管理服务实例。
  • 负载均衡:边车代理根据配置的负载均衡算法,将请求分发到多个服务实例中,以提高服务的可用性和性能。
  • 安全认证:边车代理可以实施安全认证策略,确保服务之间的通信是安全的。
  • 监控和跟踪:边车代理收集和传输服务间的通信流量数据,以实现监控、日志记录、错误追踪和性能调优等功能。

综上所述,服务网格是微服务架构中的重要组成部分,它们共同为服务间的通信提供了安全、快速且可靠的基础设施层,并实现了对业务代码的无侵入性服务治理。

1.2.问题与挑战

在微服务架构中引入服务网格确实可以带来诸多好处,如简化服务治理、提高安全性和可观察性等,但同时也伴随着一系列问题和挑战。以下是几个主要方面:

  • 边车带来的资源开销:每个微服务应用都都需要运行一个边车代理,实际部署是每个POD部署一个边车容器。边车容器需要额外的计算资源来处理服务间的通信,默认情况下每个边车容器占用0.2个CPU核。假设一台服务器运行了60个POD,那么边车容器将额外占用12个CPU核。
  • 业务转发时延增加:应用程序的每个数据包都必须通过边车容器,数据包在应用程序和内核之间往返多次,如下对比是单个pod进或出增加的时延。
wKgZombnqFqAfHJWAACi-Huat8A768.png

如图所示,右侧的是引入服务网格的方案,Pod内多了边车容器,相比左侧未引入服务网格的方案,数据包增加了内核往返次数,增加了时延。

通过上述分析可以看出,在微服务架构中引入服务网格确实带来了资源开销和转发时延的问题。

2.方案介绍

2.1.整体方案架构

服务网格DPU卸载解决方案将服务网格的sidecar边车容器集中卸载到DPU卡上执行,可以显著降低服务器CPU的算力消耗。同时,DPU卡高性能转发引擎实现了网络转发功能的加速,从而能够有效降低业务时延。该方案支持和原生Istio的无缝对接,对用户业务无侵入,可以实现业务的平滑迁移。

wKgaombnqGaAQqxrAAJQ-oxQ5m4452.png

如图所示,红色系为本方案涉及本方案涉及部分,包括DPU卡及其提供给到主机侧的SRIOV vf口、主机侧CNI(istio-dpu-cni)。

业务容器的流量治理功能由DPU卡上的共享服务代理dpu-proxy提供,它由原生的边车容器从POD中抽离出来卸载到DPU卡上。它的配置由istio-dpu-cni通过对接istio获取并转换为集中式配置并下发下来。流量通过DPU提供的vf口到达DPU侧的dpu-proxy进行流量治理。

此架构的控制面仍为原生的istio,下发xDs配置给转发面;服务网格CNI(istio-dpu-cni)做为DPU卡在k8s集群的接口,无缝对接istio/收集集群信息,相当于DPU管理面给DPU组件下发配置及规则,使DPU卡可以实现原生的透明流量劫持以及流量治理的功能;DPU卡上的dpu-proxy做为服务网格的转发面,接收配置并根据配置对流量进行流量治理。

集群内的主机上插入DPU卡(红色),在主机侧集群内部署安装服务网格CNI(istio-dpu-cni组件)后,istio-dpu-cni组件可无缝对接控制平面K8s及Istio获取服务网格及网络配置、使能DPU卡上的共享服务代理dpu-proxy及转发引擎dataplane、下发相关的启动配置,主机即具有服务治理功能。之后在部署业务POD时,业务添加高速网口vf后,提供用户接口,使业务流量通过vf到达DPU侧dpu-proxy进行流量治理与转发。

2.2.方案描述

2.2.1.主机侧组件服务网格CNI实现管理平面

服务网格CNI(istio-dpu-cni组件)在主机侧k8s集群部署,无缝对接控制平面K8s及Istio获取配置等信息,转换为共享式代理配置下发到DPU侧的共享代理;基于DPU板卡的sriov功能,可给业务POD添加低时延高速网口vf及分配置IP地址;同时使能DPU侧转发引擎dataplane,给dataplane下发引流转发配置。

wKgZombnqHCAKFneAAK3Hmrm5Gw592.png

如图所示,服务网格CNI包括istio-dpu-controller、istio-dpu-adapter和istio-dpu-cni三个组件:

① istio-dpu-controller 使用daemonset方式部署在集群master上

主要是用于生成dpu级别的集中式服务网格配置,收集集群信息如pod变化、nodename等,转换为istio的inbound和internal 配置,并下发给对应节点的istio-dpu-adapter。

② istio-dpu-adapter 使用daemonset部署在每个主机节点上

主要是用于无缝对接原生控制平面istio,可自动获取配置,转换集群内信息把原生配置聚合为共享式服务网格配置下发给代理dpu-proxy。

③ istio-dpu-cni 使用daemonset部署在每个主机节点上

可配置网络模式是underlay或者overlay,针对性下发不同的网络规则;收集集群内信息(node, ns, service, pod等),提供用户接口可对dpu侧的转发引擎dataplane下发转发及引流规则,使dataplane能进行透明劫持低时延业务流量到dpu-proxy做流量治理。

除自研的CNI外,引入的开源组件为multus、sriov、spiderpool(不涉及开源组件的改动),通过二进制或pod的形式部署在需要的节点上。

2.2.2.DPU侧组件转发引擎及代理实现转发平面

wKgaombnqHeAX3LgAAOon2qOSqE276.png

如图所示,DPU侧组件包括转发引擎dataplane和共享服务代理dpu-proxy两个组件。在DPU卡的soc上,部署两个容器组件实现服务网格转发面功能,流量透明劫持及流量治理。

① 共享服务代理dpu-proxy采用容器方式部署在DPU卡的SOC上

扩展封装原生边车代理istio-proxy为DPU共享服务代理dpu-proxy。它解析istio-dpu-adapter下发的动态共享式服务网格配置,对进出本机的低时延业务流量进行治理与转发。支持原生的四层TCP流量及七层HTTP流量治理;支持generic-proxy框架对其他七层流量进行流量治理。

② 转发引擎dataplane采用容器方式部署在DPU卡的SOC上

dataplane接入协议栈(内核/用户态),并可通过vcl共享内存方式与共享服务代理dpu-proxy交互;接收istio-dpu-cni下发的转发及引流规则,根据规则把流量劫持到dpu-proxy;治理过的流量按转发规则进行网络封装及转发;dataplane加载vf-representer,通过NP(网络转发引擎)从vf-representer口收发对应pod内vf口的流量。

2.2.3.DPU共享服务代理流量转发模型

wKgaombnqH-AZbwcAAPluZ733Wc524.png

同主机内的业务互访如图(红色),client端业务流量经高速口vf到达DPU共享服务代理进行服务治理后,再经转发引擎dataplane转发到本主机的server端Pod。

跨主机业务互访如图(蓝色),client端业务流量经高速口vf到达DPU共享服务代理进行服务治理。治理后流量到达转发引擎dataplane,根据转发规则转到目标主机的DPU上共享服务代理做inbound入口流量治理。治理后流量再经转发引擎dataplane转到目标主机的server端Pod。

3.方案优势

3.1.方案优势

本方案创新性的将服务网格边车代理集中卸载到DPU上,可以带来一系列显著的优势,包括以下几个方面:

①显著降低服务器开销:

  • 资源消耗减少:传统的边车模式需要在每个服务容器旁边部署一个边车代理,这会导致大量的资源消耗(如CPU、内存)。通过将代理集中部署在DPU上,可以消除这些额外的资源消耗,使主机侧的资源更加专注于业务逻辑处理。
  • 优化资源利用率:DPU作为专门的硬件加速单元,能够更高效地处理网络流量和加密解密等任务,从而释放主机CPU资源,提高整体系统的资源利用率。

②极致的低时延:

  • 用户态协议栈Bypass内核:通过将网络处理移至DPU的用户态协议栈,绕过传统的内核态处理,可以显著减少数据包在内核与用户空间之间切换的开销,从而大幅降低网络延迟。
  • 服务网格快路径:自研的服务网格快路径技术可以进一步优化网络路径,减少不必要的处理步骤,确保数据包能够以最短的路径和最快的速度在网络中传输。

③即插即用:

  • 无侵入式服务治理:集中式代理模式允许在不修改现有应用代码的情况下实现服务治理功能,如流量管理、安全控制等。这使得新服务的部署和现有服务的升级变得更加简单快捷。
  • 灵活部署:DPU作为独立的硬件组件,可以轻松地集成到现有的服务器架构中,实现即插即用。这种灵活性使得企业可以根据实际需求快速调整网络架构和服务部署策略。

④增强的安全性和隔离性:

  • 服务隔离:通过DPU上的集中式代理,可以减少不同服务和边车容器之间的干扰,防止潜在的安全风险。

综上所述,将边车代理集中卸载到DPU上是一种高效、灵活且安全的网络架构优化方案,能够显著降低开销、提升系统的性能并增强安全性和隔离性。

3.2.未来与展望

服务网格DPU卸载解决方案,作为云原生时代的一项创新技术,其核心价值在于显著优化了边车代理模式所带来的资源消耗问题,并大幅降低了业务请求在微服务间的转发时延。

随着云原生技术和微服务架构在各行各业的深入渗透,特别是在云计算、金融科技物联网、边缘计算等领域,对于高效、可靠、可扩展的系统架构需求日益迫切。服务网格DPU卸载解决方案正是顺应这一趋势,凭借其卓越的性能提升和资源优化能力,展现出了极为广阔的应用前景和市场空间。

更为重要的是,该方案和技术正处于快速发展和不断完善的阶段。随着DPU技术的不断创新和服务网格框架的持续演进,未来将有更多高级功能被集成到DPU中,如更精细的流量管理、增强的安全策略执行、智能的数据处理加速等。服务网格DPU卸载方案将吸引更多行业巨头、初创企业以及技术开发者加入DPU生态,共同探索和实践DPU技术的潜力,推动其标准化、生态化的发展进程。

总之,服务网格DPU卸载解决方案作为云原生和微服务架构下的技术探索,展现出了巨大的潜力,有望成为推动云原生技术普及和深化的关键力量,为数字化转型注入新的活力和动力。

本方案来自于中科驭数软件研发团队,团队核心由一群在云计算、数据中心架构、高性能计算领域深耕多年的业界资深架构师和技术专家组成,不仅拥有丰富的实战经验,还对行业趋势具备敏锐的洞察力,该团队致力于探索、设计、开发、推广可落地的高性能云计算解决方案,帮助最终客户加速数字化转型,提升业务效能,同时降低运营成本。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 云计算
    +关注

    关注

    38

    文章

    7612

    浏览量

    136738
  • DPU
    DPU
    +关注

    关注

    0

    文章

    343

    浏览量

    24044
  • 网格
    +关注

    关注

    0

    文章

    139

    浏览量

    15940
  • 微服务
    +关注

    关注

    0

    文章

    126

    浏览量

    7303
收藏 人收藏

    评论

    相关推荐

    《数据处理器:DPU编程入门》DPU计算入门书籍测评

    实践 最后一部分是数据加速应用的落地: 基于各个平台的算力解决方案 推荐的存储解决方案 边缘计算方案 网络平台与融合加速技术 本书不能帮你完全入门DOCA和相关的DPU开发技术,但是能
    发表于 12-24 10:54

    全面互操作FCoE卸载解决方案性能高

    用于全球最快融合网络适配器(CNA)平台的全面互操作FCoE卸载解决方案,该解决方案速度高达每秒170万次输入/输出操作(IOPs),比最接近的竞争对手性能高80%企业数据中心需要10Gb以太网(GbE
    发表于 07-15 21:55

    Qorvo分布式Wi-Fi网格解决方案

    的 RF 技术,设备制造商可在家中任何地方创建使用隐蔽式终端设备的分布式 Wi-Fi 网络,消除死角,并覆盖更多应用和用户。Qorvo 可以提前消除 Wi-Fi 问题。”Qorvo 分布式 Wi-Fi 网格解决方案已投入生产,并赢得了多个设计合同,其中包括连接全球数百万用
    发表于 11-02 07:01

    服务网关gateway的相关资料推荐

    目录微服务网关 gateway 概述[路由器网关 Zuul 概述]嵌入式 Zuul 反向代理微服务网关 gateway 概述1、想象一下一个购物应用程序的产品详情页面展示了指定商品的信息:2、若是
    发表于 12-23 08:19

    专⽤数据处理器 (DPU) 技术⽩⽪书

    ⼼”转向“数据为中⼼” 252.3. ⼀种DPU参考设计 292.4. DPU具备的主要功能 343.DPU应用场景353.1. 应用场景⼀:⽹络功能卸载 353.2. 应用场景⼆:存
    发表于 03-14 17:35

    什么是DPU

    服务器内,CPU和GPU已经被广泛地用于各个新型超大规模数据中心。 这些数据中心通过功能强大的新型处理器连接在一起,DPU( Data Processing Unit ,数据处理器)已经成为了以数据为
    发表于 11-03 10:55

    iot环境监测 多服务网关连接传感器与云的通信

    服务网关是更智能的解决方案,它采用预先集成且预先验证的硬件和软件,成本高效地统一不同组件并将数据传输至云端。该解决方案设计灵活此类多服务网关允许利用云连接性集成完全不同的传统技术与现
    发表于 09-08 16:41 6次下载
    iot环境监测 多<b class='flag-5'>服务网</b>关连接传感器与云的通信

    Service Mesh服务网格新生代

    服务网格 Service Mesh,服务网格,也有人翻译为服务啮合层。这貌似是今年才出来的新名词?在2017年之前没有听过,虽然类似的产品已经存在挺长时间。 什么是Service Mesh(
    发表于 09-27 11:15 0次下载
    Service Mesh<b class='flag-5'>服务网格</b>新生代

    华为云国内首发Istio服务网格

    华为云国内首家推出了Istio服务网格产品,该产品与CCE容器引擎深度整合,提供非侵入、智能流量治理的应用全生命周期管理方案,增强了华为云容器服务全栈能力。 华为EBG中国区行业云拓展部部长胡维琦做
    的头像 发表于 09-08 09:36 3714次阅读

    这几个要素将帮助DevOps团队确定适合其特定情况的服务网格

    服务网格是近年来火热的技术之一,并且格局在不断变化中。可选择的服务网格选项也不少。但总要根据自己的需求来进行选择,本文会提到一些要素,来帮助DevOps团队确定最适合其特定情况的服务网格
    的头像 发表于 08-26 15:20 1949次阅读
    这几个要素将帮助DevOps团队确定适合其特定情况的<b class='flag-5'>服务网格</b>

    9种主流的用以支撑微服务开发的服务网格框架及应用场景

    哪种服务网格最适合你的企业?近年来,Kubernetes服务网格框架数量增加迅速,使得这成为一个棘手的问题。
    的头像 发表于 10-21 16:01 3245次阅读

    服务网格对数据中心网络的特点和重要性

    服务类型的应用程序依靠快速,可靠的网络基础结构来快速可靠地做出响应,并且服务网格可以成为强大的推动者。
    的头像 发表于 11-01 11:51 1897次阅读

    DPU技术解决方案的挑战和机遇

    ,因此 DPU 产业发展与软硬件市场的配合度存在强关联。能否理解行业需求,拉通软硬件形成完整解决方案成为 DPU 发展与落地的关键。
    的头像 发表于 10-11 15:33 1532次阅读

    网易数帆基于NVIDIA BlueField DPU 构建完备的裸金属服务解决方案

    最终,网易数帆裸金属服务解决方案选择了 OpenStack 云管理软件架构。此外,还选择了 Ironic 与 OpenStack 相关服务集成的方式进行部署。同时,由于 NVIDIA BlueField
    的头像 发表于 02-14 10:06 664次阅读

    在不同应用场景下DPU不同的性能要求阐述

    DPU本质上是通过DPU卡上资源,解耦计算、控制、存储,利用CPU、GPU、FPGA加速器等异构处理单元,通过以智能卡为接口的网络实现高效的数据分发和调度。市面上流行的DPU产品基本上都实现了3类功能
    的头像 发表于 08-09 16:40 2184次阅读
    在不同应用场景下<b class='flag-5'>DPU</b>不同的性能要求阐述