基于DPU的云原生裸金属网络解决方案

news2024/11/25 3:58:37

1. 方案背景和挑战

裸金属服务器是云上资源的重要部分,其网络需要与云上的虚拟机和容器互在同一个VPC下,并且能够像容器和虚拟机一样使用云的网络功能和能力。

传统的裸金属服务器使用开源的 OpenStack Ironic 组件,配合 OpenStack Neutron 网络实现。

传统方案1:在Neutron使用VLAN网络时,每个VPC网络会分配一个唯一的VLAN标签。通过在裸金属服务器的网卡上配置相应交换机端口的VLAN标签,使其与目标网络的VLAN标签匹配,就可以将裸金属服务器的网络切换到对应的VPC中。

尽管VLAN网络在流量管理和网络隔离方面具有较高效率,但也存在一些缺点:

  • 可扩展性有限,仅支持4096个VLAN,不能应用在大规模和复杂环境中;
  • 管理复杂,需要一致性配置和手动维护;
  • 广播域限制,可能导致网络拥塞。

为了解决传统方案1的扩展性和管理灵活性问题,业界逐渐开始采用传统方案2:利用SDN交换机进行VXLAN/Geneve处理。裸金属服务器通过VLAN接入SDN交换机,后者负责对数据包进行封装,然后将流量引入对应的VPC网络,实现裸机与虚拟机互通。如下图所示:

这种方案相比传统方案1,提升了网络的可扩展性,通过Overlay网络提高了网络可扩展性、灵活性和安全性。但是,这种方案仍面临很多问题与挑战:

  1. 网络架构割裂问题:该方案未能实现虚拟网络与裸机网络架构的统一管理,导致两者的配置和管理流程存在差异,增加了运维团队的学习成本和操作复杂度。这种割裂不仅减缓了网络变更的响应速度,还可能引发配置错误,影响网络的稳定性和一致性。
  2. 成本与维护负担:依赖SDN交换机进行网络封装处理,虽然带来了技术上的进步,但同时也引入了额外的硬件采购与维护成本。这些交换机的部署与升级都需要专业的技术支持,且设备本身的价格不菲,长期来看对预算造成压力。此外,特定品牌和型号的SDN交换机可能限制了技术选型的自由度,影响网络架构的扩展性和兼容性,不利于技术迭代和未来升级。
  3. 灵活性与扩展性局限:在该方案中,裸金属服务器仅通过单一物理网卡接入SDN交换机,这种连接方式的固定性,限制了网络接口的灵活性和扩展能力。尤其是缺乏热插拔支持,意味着在需要调整网络配置或增加网络带宽时,必须停机操作,这不仅影响了业务连续性,也降低了数据中心的运维效率和资源的快速调配能力。

综上所述,尽管传统方案2在一定程度上改善了网络的扩展性和安全性,但其存在的架构复杂性、较高的成本投入、以及有限的灵活性和扩展性,成为制约裸金属服务高效运营和未来发展的主要障碍。因此,探索更优化的网络解决方案,以实现网络架构的统一管理、降低成本负担、并增强灵活性与扩展性,显得尤为迫切。

2. 方案介绍

2.1. 整体方案架构

本方案基于DPU的网络能力,采用开源 Kubernetes 底座架构,以OVN/OVS做为网络转发面,整体架构如下图所示:

在集群架构中,裸金属服务器既可以单独使用,也可以作为Worker节点加入Kubernetes集群,部署Pod或虚拟机(VM)。无论是作为裸金属服务器,还是作为Worker节点,网络I/O均由DPU卸载,并通过OVN进行统一管理。在使用SmartNIC或普通网卡的Worker节点中,OVN的流表管理和下发逻辑保持不变,仅将网络I/O交由主机侧处理。整体方案采用统一的OVN控制器进行策略下发和调度,实现DPU裸机网络与Pod/VM之间的网络互通。

本方案的关键组件为自研,包括以下组件:

● bmctl:类似于 kubectl 的一个便于操作裸金属的命令行工具。

● ycloud-cni:为裸金属提供虚拟网卡配置功能,实现CNI接口,并对本地 OVS网络进行配置。

● ycloud-ovn-controller:该组件执行K8S内资源到OVN资源的翻译工作,其作用相当于SDN系统的控制平面。监听所有和网络相关的资源事件,并根据资源变化情况更新OVN内的逻辑网络。

2.1. 方案详细描述

裸金属的网络完全由DPU卡来配置,裸金属机器本身可以不携带任何物理网卡,而是通过DPU提供的PF/VF设备作为网卡设备。这些设备由DPU SOC(SOC 可以灵活对软件升级和部署服务)侧的OVS进行配置,而不依赖外部交换机,可以实现VXLAN、Geneve等各种虚拟网络,本方案具有性能优越、灵活性强、部署简化、管理统一、高可扩展性等优点,是一种高效和可靠的裸金属网络解决方案。如下图所示:

在裸金属方案中,网卡被抽象为弹性虚机网卡(VNic)对象,由bm-controller根据用户需求创建VNic对象,并由Ycloud-cni组件将VNic绑定到裸金属。在这个过程中,bm-controller会为Host侧分配PF/VF,并调用OVS将相应的端口绑定到OVS网桥,进行必要的配置。这种方案无需更改交换机的配置,同时将控制面和数据面都卸载到DPU中处理,使得管理流程与虚拟网络中的POD/VM基本一致。唯一的区别在于本地虚拟网络设备的生成过程,使用Ycloud-cni-ds处理配置DPU本地网络。如下图所示:

总体来说,基于DPU的裸金属网络方案为裸金属服务器提供了灵活且高效的网络管理解决方案。

基于DPU的裸金属方案使用DPU的VF设备提供网卡功能,动态配置网卡,无需冗余网卡。Ycloud-cni组件负责管理PF/VF设备,实现网卡的动态插拔和配置。相比原生Ironic的冗余网卡需求,这种方案更灵活高效,避免资源浪费。 DPU提供数百个以上的VF,足以满足不同用户需求,使得网卡的热插拔变得简单而高效,提高资源利用率。

3. 测试与验证

3.1. 资源创建

与其他k8s 资源的创建类似,裸金属的通过一个yaml描述进行创建,同时创建POD、VM:

kubectl apply -f bm-xxx.yaml
kubectl apply -f pod-xxx.yaml
kubectl apply -f vm-xxx.yaml

裸机yaml中网络信息:

VM yaml中的网络信息:

POD yaml中的网络信息:

查看资源信息如下:

创建后,可通过 kubectl 命令查看:

裸机可以看到bm-01、bm-02及 bm-node3三个裸金属实例,均为 Running 状态。

我们提供了类似 kubectl 的一个 bmctl 命令行工具,方便进行管理维护。通过该命令,可以方便的进行登录、重启、网卡插拔等操作:

3.2. 联通性

验证BM跟POD和VM的网络互通情况

裸机和POD互通:

裸机和VM互通:

3.3. 热插拔

通过提供的 bmctl 命令行工具操作。

添加网卡:

bmctl addinterface  bm-02   bm-02-vnicpf

查看网卡:

删除网卡:

bmctl delinterface  bm-02   bm-02-vnicpf

查看网卡bm-02

3.4. 统一管理

K8S 纳管DPU节点,且DPU SOC中使用OVS,可以看到pf0hpf使用的是驭数的驱动。

4. 总结

4.1. 统一管理方案优势

DPU赋能的裸金属网络解决方案,在以下几个方面具有显著优势:

  1. 精简网络架构,提升管理效率:通过将Overlay网络的终结点设在DPU层面,该方案有效精简了网络层级,削减了不必要的组件,从而大幅降低了网络架构的复杂度。这一设计不仅增强了网络的可管理性,还为未来的扩展需求奠定了灵活的基础。
  2. 优化设备配置,实现成本与效率双赢:采用DPU为核心的技术路径,该方案成功减少了对物理交换机的依赖,从根本上简化了网络设备配置,降低了硬件成本及运维开支。此举不仅经济高效,也为网络环境的轻量化与高效运作提供了有力支撑。
  3. 增强网络接口灵活性,确保业务连续性:得益于DPU的动态特性,支持网络接口的热插拔成为可能。这意味着在服务器持续运行的同时,可以根据需要轻松添加或移除网络接口,确保了业务的不间断与基础设施的即时适应性。
  4. 统一控制,深化SDN潜能:整合统一的SDN控制器,实现策略精准下发与智能调度,不仅超越了传统VLAN的限制,兼容VXLAN和Geneve等先进技术,还内置了SDN ACL安全策略,模拟云环境下的安全组功能,强化了网络安全防护。这一策略不仅统一了管理界面,简化了SDN软件栈,还显著提高了网络的灵活性和响应速度,降低了维护难度,确保了网络管理的高效与直观。

综上所述,DPU驱动的裸金属网络方案通过一系列创新设计,从根本上重塑了网络的部署与管理方式,为追求高效、灵活及安全的现代数据中心提供了强有力的支持。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1846990.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Go语言开发框架GoFly已集成数据可视化大屏开发功能,让开发者只专注业务开发,本文指导大家如何使用

前言 框架提供数据大屏开发基础,是考虑当前市场软件应用有一大部分是需要把业务数据做出大屏,很多政府项目对大屏需求特别高,还有生产企业项目也对大屏有需求,没有提供基础规范的后台框架,在开发大屏需要很多时间去基…

MySQL数据库初体验+数据库管理(其一)

【1】 操作系统介绍: Linux操作系统有 RedHat CentOS Debian Ubuntu OpenSUSE 信创标准 国产系统 : 华为(欧拉) 阿里(龙蜥) 腾讯 (tencentOS) 麒麟&#xf…

媒体访谈 | 广告变现痛点有新解,俄罗斯市场成大热门?

今年一季度,中国自主研发游戏在海外市场实际销售收入达到了40.75亿美元,环比和同比均实现了超过5%的增长,出海,仍是游戏产品近些年来最主要的发展模式之一。 当今的市场环境正经历一系列深刻变革,移动游戏广告市场呈现…

npm语义化版本和版本运算符

版本号组成 一个完整的版本号,由三部分组成:主版本号(major)、次版本号(minor)、修订版本号(patch),简称X.Y.Z,具体含义: 主版本号(major):项目&#xff08…

【C++】类的六个默认成员函数

文章目录 类的六个默认成员函数一、构造函数二、析构函数三、拷贝构造函数四、赋值运算符重载五、const成员六、取地址及const取地址操作符重载 类的六个默认成员函数 如果一个类中什么成员都没有,称为空类。空类中真的什么都没有吗?并不是,…

【windows】字体安装手册

windows字体安装手册 1 下载字体文件 百度搜索XXX字体ttf文件进行下载 附:宋体gb2312下载地址: https://www.downza.cn/soft/7780.html 2 字体安装 1.搜索字体 2.将下载的ttf文件拖拽添加 3.关闭办公软件重新打开后,outlook、word、…

html做一个分组散点图图的软件

在HTML中创建一个分组散点图,可以结合JavaScript库如D3.js或Plotly.js来实现。这些库提供了强大的数据可视化功能,易于集成和使用。下面是一个使用Plotly.js创建分组散点图的示例: 要添加文件上传功能,可以让用户上传包含数据的文…

前端新手小白的Vue3入坑指南

昨天有同学说想暑假在家学一学Vue3,问我有没有什么好的文档,我给他找了一些,然后顺带着,自己也写一篇吧,希望可以给新手小白们一些指引,Vue3欢迎你。 目录 1 项目安装 1.1 初始化项目 1.2 安装初始化依…

如何保护表格部分内容不被修改!

你是否还在为辛苦做的表格,收回来的表格总是被人随意修改,不是表头变了样,就是设置好的格式、公式都乱了,苦恼、崩溃..... 别急,今天刘小生教你一招解决烦恼! 0.案例效果 【案例】现收集员工个人信息表&a…

canal 服务安装

简介:Canal 是阿里巴巴开源的一个基于 MySQL 数据库增量日志解析的中间件,用于提供准实时的数据同步功能。 准备工作 1.修改配置文件 ,需要先开启 Binlog 写入功能,配置 binlog-format 为 ROW 模式,my.cnf 中配置如下&#xf…

【目标检测】图解 DETR 系统框图

简略版本 Backbone:CNN backbone 学习图像的 2D 特征Positional Encoding:将 2D 特征展平,并对其使用位置编码(positional encoding)Encoder:经过 Transformer 的 encoderDecoder:encoder 的输出…

重磅来袭,表格数据显示的快捷方式和注意事项!

今天分享数据表格常见的两个问题,如何“快速去除小数点”和“快速显示万位数”,及日常工作计算常见问题,今天刘小生跟大家一起排雷! 1. 快速去除小数点 问题:经数据计算后出现小数位数,想要在整体数据展示…

Rust这5个自动验证工具,你知道几个?

自动验证是一种有助于检查程序是否满足某些属性的技术,例如内存安全性和避免在运行时错误。此外,自动验证工具使你能够验证并发代码的正确性,这很难手工测试。 自动验证对Rust特别重要,因为它可以帮助确保正确使用unsafe的代码。…

NTFS和exFAT哪个性能好 U盘格式化NTFS好还是exFAT好 mac不能读取移动硬盘怎么解决

文件系统的选择对存储设备的性能和兼容性有着重要影响。而NTFS和EXFAT作为两种常见的文件系统,它们各有特点,适用于不同的使用场景。我们将深入探讨NTFS和EXFAT的区别,帮助大家选择最适合自己需求的文件系统。 NTFS:稳定与性能的平…

代理网络基础设施 101:增强安全性、速度和可扩展性

编辑代理网络在现代网络架构中发挥着重要作用,充当管理和重新路由数据流的中介。它们处理的数据可以是各种类型,包括搜索查询和潜在的敏感客户信息,这凸显了它们在数据安全方面的作用。 然而,代理的好处不仅限于安全性。它们为用…

Apifox 中如何处理加密或编码过的响应数据?

接口返回的响应数据有时是经过编码或加密处理的,要转换成可读的明文,可以使用 Apifox 内置的 JS 类库、或者通过调用外部编程语言 (如 Python、JavaScript 等) 来进行处理。 例如,一个经过 Base64 编码的数据可以通过…

【开源项目】智慧北京案例~超经典实景三维数字孪生智慧城市CIM/BIM数字孪生可视化项目——开源工程及源码!

飞渡科技数字孪生北京管理平台, 依托实景数字孪生底座,以城市感知网络为硬件基础,以城市大数据为核心资源,以数字孪生、云计算、人工智能为关键技术,实现城市产业规划、资产安全管理、城市能耗监控等一体化空间融合。 …

我国光伏连接器市场规模逐渐扩大 国产化率不断提升

我国光伏连接器市场规模逐渐扩大 国产化率不断提升 光伏连接器是在光伏系统中用于连接控制器、汇流箱、逆变器等各组件的设备。光伏连接器是光伏系统的“生命线”,可确保有效的能量传输,并尽量减少系统中的任何功率损失。光伏连接器具有防水、防尘、电压…

The First项目报告:解读互链操作协议LayerZero

随着 DeFi 项目的兴起,跨链互操作性成为区块链领域的热门话题,在众多的跨链平台中,Layer Zero 凭借其创新技术和设计备受关注,近期Layer Zero发布代币空投方案,引发社区热议,随着其代币上线The First平台&a…