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

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.mzph.cn/bicheng/31643.shtml

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

相关文章

修改主频睡眠模式停止模式待机模式

代码示例: 接线图:修改主频 接线图:睡眠模式串口发送接收 CH340 USB转串口模块。GND和stm32共地。RXD接PA9,TXD接PA10。 接线图:停止模式对射式红外传感器计次 对射式红外传感器模块的VCC和GND接上供电。DO输出接S…

张大哥笔记:5种信息差赚钱模式

从古至今,赚钱最快的路子就一个,而且从未改变,那就是信息差!在商业活动中,信息不对称现象普遍存在,如果你善于利用这些信息差的话,就可以赚到钱! 1、价格的信息差 商品价格在不同地…

python pyautogui实现图片识别点击失败后重试

安装库 pip install Pillow pip install opencv-python confidence作用 confidence 参数是用于指定图像匹配的信度(或置信度)的,它表示图像匹配的准确程度。这个参数的值在 0 到 1 之间,数值越高表示匹配的要求越严格。 具体来…

ConcurrentHashMap(应对并发问题的工具类)

并发工具类 在JDK的并发包里提供了几个非常有用的并发容器和并发工具类。供我们在多线程开发中进行使用。 5.1 ConcurrentHashMap 5.1.1 概述以及基本使用 在集合类中HashMap是比较常用的集合对象,但是HashMap是线程不安全的(多线程环境下可能会存在问题)。为了…

可一件转化的视频生成模型:快手官方大模型“可灵”重磅来袭!

可一件转化的视频生成模型“可灵”重磅来袭! 前言 戴墨镜的蒙娜丽莎 达芬奇的画作《蒙娜丽莎的微笑》相信大家是在熟悉不过了,可《戴墨镜的蒙娜丽莎》大家是不是第一次见?而且这还不是以照片的形式,而是以视频的形式展示给大家。 …

Spring AOP实战--之优雅的统一打印web请求的出参和入参

背景介绍 由于实际项目内网开发,项目保密,因此本文以笔者自己搭建的demo做演示,方便大家理解。 在项目开发过程中,团队成员为了方便调试,经常会在方法的出口和入口处加上log输出,由于每个人的log需求和输…

奔驰EQS SUV升级原厂主动式氛围灯效果展示

以下是一篇关于奔驰 EQs 升级原厂主动氛围灯案例的宣传文案: 在汽车科技不断演进的今天,我们自豪地为您呈现奔驰 EQs 升级原厂主动氛围灯的精彩案例。 奔驰 EQs,作为豪华电动汽车的典范,其卓越品质与高端性能有目共睹。而此次升…

CVPR 2024盛况空前,上海科技大学夺得最佳学生论文奖,惊艳全场

CVPR 2024盛况空前!上海科技大学夺得最佳学生论文奖,惊艳全场! 会议之眼 快讯 2024 年 CVPR (Computer Vision and Pattern Recogntion Conference) 即国际计算机视觉与模式识别会议,于6月17日至21日正在美国西雅图召…

手把手教你java CPU飙升300%如何优化

背景 今天有个项目运行一段时间后,cpu老是不堪负载。 排查 top 命令 TOP 命令 top t 按cpu 排序 top m 按内存使用率排序 从上面看很快看出是 pid 4338 这个进程资源消耗很高。 top -Hp pid top -Hp 4338 找到对应线程消耗的资源shftp cpu占用进行排序&#xf…

【Java】已解决java.net.ProtocolException异常

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决java.net.ProtocolException异常 在Java的网络编程中,java.net.ProtocolException异常通常表示在网络通信过程中,客户端或服务器违反了某种协议规则。…

计算机组成原理 | 计算机系统概述

CPI:(Clockcycle Per Instruction),指每条指令的时钟周期数。 时钟周期:对CPU来说,在一个时钟周期内,CPU仅完成一个最基本的动作。时钟脉冲是计算机的基本工作脉冲,控制着计算机的工作节奏。时钟周期 是一个时钟脉冲所…

除了百度,还有哪些搜索引擎工具可以使用

搜索引擎成是我们获取知识和信息不可或缺的工具。百度作为国内最大的搜索引擎,全球最大的中文搜索引擎,是许多人的首选。那么除了百度,还有哪些搜索引擎可以使用呢?小编就来和大家分享国内可以使用的其他搜索工具。 1. AI搜索 AI…

梯度提升决策树(GBDT)的训练过程

以下通过案例(根据行为习惯预测年龄)帮助我们深入理解梯度提升决策树(GBDT)的训练过程 假设训练集有4个人(A、B、C、D),他们的年龄分别是14、16、24、26。其中A、B分别是高一和高三学生&#x…

大模型时代,新手和程序员如何转型入局AI行业?

在近期的全国两会上,“人工智能”再次被提及,并成为国家战略的焦点。这一举措预示着在接下来的十年到十五年里,人工智能将获得巨大的发展红利。技术革命正在从“互联网”向“人工智能”逐步迈进,我将迎来新一轮技术革新和人才需求…

ASP.NET Core 6.0 启动方式

启动方式 Visualstudio 2022启动 IIS Express IIS Express 是一个专为开发人员优化的轻型独立版本的 IIS。 借助 IIS Express,可以轻松地使用最新版本的 IIS 开发和测试网站。 控制台版面 直接在浏览器输入监听的地址,监听的是 http://localhost:5137 脚本启动 dotnet run…

C++11 右值引用和移动语义

目录 1.左值引用和右值引用 2.右值引用使用场景(移动语义)和意义 3.右值引用引用左值及其一些更深入的使用场景分析 4.完美转发 1.左值引用和右值引用 传统的C语法中就有引用的语法,而C11中新增了的右值引用语法特性,所以从现…

Verilog:【8】基于FPGA实现SD NAND FLASH的SPI协议读写

在此介绍的是使用FPGA实现SD NAND FLASH的读写操作,以雷龙发展提供的CS创世SD NAND FLASH样品为例,分别讲解电路连接、读写时序与仿真和实验结果。 目录 1 视频讲解 2 SD NAND FLASH背景介绍 3 样品申请 4 电路结构与接口协议 4.1 SD NAND 4.2 SD NAND测…

机器学习算法的电影推荐系统以及票房预测系统

一、实验概述 1. 实验目标 本项目希望基于电影数据集,依据电影的简介、关键词、预算、票房、用户评分等特征来对电影进行分析,并完成以下任务: 对电影特征的可视化分析对电影票房的预测多功能个性化的电影推荐算法 2. 数据集 针对票房预…

AIGC-CVPR2024best paper-Rich Human Feedback for Text-to-Image Generation-论文精读

Rich Human Feedback for Text-to-Image Generation斩获CVPR2024最佳论文!受大模型中的RLHF技术启发,团队用人类反馈来改进Stable Diffusion等文生图模型。这项研究来自UCSD、谷歌等。 在本文中,作者通过标记不可信或与文本不对齐的图像区域&…

vulnhub靶场之FunBox-11

一.环境搭建 1.靶场描述 As always, its a very easy box for beginners. Add to your /etc/hosts: funbox11 This works better with VirtualBox rather than VMware. 2.靶场下载 https://www.vulnhub.com/entry/funbox-scriptkiddie,725/ 3.靶场启动 二.信息收集 1.寻找靶…