10分钟上手oncn-bwm:从安装到配置的快速入门教程

发布时间:2026/9/10 6:22:49

10分钟上手oncn-bwm:从安装到配置的快速入门教程 10分钟上手oncn-bwm从安装到配置的快速入门教程【免费下载链接】oncn-bwmPod bandwidth management in mixed deployment scenarios of online and offline services项目地址: https://gitcode.com/openeuler/oncn-bwm前往项目官网免费下载https://ar.openeuler.org/ar/想要在Kubernetes环境中实现智能带宽管理吗oncn-bwmOpenEuler Bandwidth Management正是您需要的解决方案这个强大的开源工具专门为在线和离线混合部署场景设计能够智能区分业务优先级确保在线业务获得所需带宽的同时充分利用网络资源。在本文中我将为您提供完整的oncn-bwm安装与配置指南帮助您在10分钟内快速上手这个高效的Pod带宽管理工具。为什么选择oncn-bwm oncn-bwm是一个基于eBPF技术的高性能带宽管理工具专为Kubernetes环境中的在线和离线业务混合部署场景设计。它通过智能的优先级区分和动态带宽调整机制确保关键业务获得稳定的网络性能同时充分利用空闲带宽资源。核心功能亮点 ✨智能优先级管理自动区分在线业务优先级0和离线业务优先级-1动态带宽调整根据在线业务负载自动调整离线业务可用带宽双向流量控制支持出向egress和入向ingress流量管理细粒度控制基于cgroup和IP地址的精确流量分类实时监控提供详细的流量统计信息和性能指标快速安装指南 环境准备在开始安装前请确保您的系统满足以下要求Linux内核版本5.4或更高支持eBPF已安装CMake和GCC编译工具链Kubernetes集群可选用于容器环境部署源码编译安装首先克隆项目仓库并进入项目目录git clone https://gitcode.com/openeuler/oncn-bwm cd oncn-bwm执行编译和安装命令# 编译项目 cmake . make # 创建安装目录 mkdir -p /usr/share/bwmcli # 安装eBPF程序 install -Dpm 0500 bpf/CMakeFiles/bwm_prio_kern.dir/bwm_prio_kern.c.o /usr/share/bwmcli/bwm_prio_kern.o install -Dpm 0500 bpf/CMakeFiles/bwm_tc.dir/bwm_tc.c.o /usr/share/bwmcli/bwm_tc.o install -Dpm 0500 bpf/CMakeFiles/bwm_tc_i.dir/bwm_tc_i.c.o /usr/share/bwmcli/bwm_tc_i.o # 安装命令行工具 install -Dpm 0500 bwmcli /usr/bin install -Dpm 0500 tools/bwm_monitor.bt /usr/bin install -Dpm 0500 tools/bwm_monitor_ingress.bt /usr/binKubernetes环境部署如果您在Kubernetes环境中使用可以使用提供的DaemonSet配置文件快速部署# 应用Kubernetes配置 kubectl apply -f multi_prio_bwm/install/kubernetes/oncn-bwm.yaml这个配置会在每个节点上部署oncn-bwm守护进程自动管理Pod的网络带宽。基础配置教程 ️1. 启用网卡QoS功能首先您需要为网络接口启用QoS功能# 启用eth0网卡的出向QoS bwmcli -e eth0 # 启用所有网卡的出向QoS bwmcli -e # 启用eth0网卡的入向QoS bwmcli -E eth0 # 查询网卡状态 bwmcli -p devs2. 设置Pod网络优先级根据业务类型设置Pod的优先级# 设置在线业务Pod优先级0 bwmcli -s /sys/fs/cgroup/net_cls/online_pod 0 # 设置离线业务Pod优先级-1 bwmcli -s /sys/fs/cgroup/net_cls/offline_pod -1 # 查询优先级设置 bwmcli -p /sys/fs/cgroup/net_cls/online_pod3. 配置带宽限制策略设置离线业务的带宽限制范围# 设置出向离线带宽低带宽20MB高带宽1GB bwmcli -s bandwidth 20mb,1gb # 设置在线业务水线阈值 bwmcli -s waterline 30mb # 查询当前配置 bwmcli -p bandwidth bwmcli -p waterline4. 管理入向流量对于入向流量可以通过IP地址进行管理# 标记IP为离线流量 bwmcli -A 172.17.0.2 # 移除离线标记 bwmcli -R 172.17.0.2实战配置示例 场景1Web服务与批处理任务混合部署假设您有一个Web服务在线业务和批处理任务离线业务运行在同一个节点上# 1. 启用所有网卡QoS bwmcli -e # 2. 设置Web服务Pod为在线业务 bwmcli -s /sys/fs/cgroup/net_cls/web-service 0 # 3. 设置批处理Pod为离线业务 bwmcli -s /sys/fs/cgroup/net_cls/batch-job -1 # 4. 配置带宽策略 bwmcli -s bandwidth 50mb,2gb bwmcli -s waterline 100mb # 5. 监控流量状态 bwmcli -p stats场景2Kubernetes环境配置在Kubernetes中可以通过Pod注解自动配置带宽管理# 示例Pod配置multi_prio_bwm/example/pod.yaml apiVersion: apps/v1 kind: Deployment metadata: name: qostest spec: template: metadata: annotations: oncn-bwm.openeuler.org/egress-bandwidth: {request:600Mb,limit:800Mb,priority:1} oncn-bwm.openeuler.org/ingress-bandwidth: {request:600Mb,limit:800Mb,priority:1} spec: containers: - name: nginx image: nginx:latest监控与调试技巧 实时流量监控使用内置工具查看详细的流量统计信息# 查看出向流量统计 bwmcli -p stats # 查看入向流量统计 bwmcli -P stats输出示例offline_target_bandwidth: 104857600 online_pkts: 982 offline_pkts: 0 online_rate: 28190 offline_rate: 0使用bpftrace工具项目提供了基于bpftrace的监控工具# 监控出向流量 bwm_monitor.bt # 监控入向流量 bwm_monitor_ingress.bt常见问题解答 ❓Q1如何验证oncn-bwm是否正常工作A运行bwmcli -p devs查看网卡状态确认QoS已启用。然后使用bwmcli -p stats查看流量统计信息。Q2带宽限制不生效怎么办A检查以下几点确认网卡QoS已启用bwmcli -p devs验证cgroup路径是否正确检查带宽设置是否在有效范围内1MB-9999GBQ3如何调整水线检测灵敏度Aoncn-bwm默认每10ms检测一次在线带宽。如需调整可以修改eBPF程序中的检测间隔参数。Q4支持哪些网络接口类型Aoncn-bwm支持大多数Linux网络接口包括物理网卡、虚拟网卡veth、bridge等。最佳实践建议 渐进式配置先从较小的带宽限制开始逐步调整到最优值监控先行在应用带宽限制前先监控一段时间的基础流量模式分层管理根据业务重要性设置不同的优先级等级定期评估定期检查流量统计根据实际使用情况调整策略文档记录记录所有配置变更便于问题排查和回滚进阶配置指南 自定义eBPF程序如果您需要更精细的控制可以修改eBPF程序源码bwm_prio_kern.ccgroup优先级设置程序bwm_tc.c出向带宽管理程序bwm_tc_i.c入向带宽管理程序集成CNI插件oncn-bwm提供了CNI插件支持可以与Kubernetes CNI网络无缝集成。参考示例配置进行配置。总结 通过这个10分钟快速入门教程您已经掌握了oncn-bwm的核心功能和基本配置方法。这个强大的带宽管理工具能够帮助您在混合部署环境中实现智能的流量优先级管理确保关键业务的服务质量同时充分利用网络资源。记住良好的带宽管理策略需要根据实际业务负载不断优化。建议您从简单的配置开始逐步调整参数找到最适合您业务场景的配置方案。现在就开始使用oncn-bwm为您的Kubernetes集群带来更智能、更高效的网络带宽管理体验吧 提示更多详细信息和高级配置请参考项目中的官方文档和示例配置。【免费下载链接】oncn-bwmPod bandwidth management in mixed deployment scenarios of online and offline services项目地址: https://gitcode.com/openeuler/oncn-bwm创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/10 6:22:10

从DROID到BEHAVIOR:PointWorld训练数据集的完整解析与应用

从DROID到BEHAVIOR:PointWorld训练数据集的完整解析与应用 【免费下载链接】PointWorld_models 项目地址: https://ai.gitcode.com/hf_mirrors/nvidia/PointWorld_models 在机器人操作和3D世界建模领域,PointWorld训练数据集正成为研究人员和开发…

2026/9/6 19:22:30

现代C:标准库:深入理解标准 IO

引用输入输出(后面简称 “IO”)是应用程序不可或缺的一种基本能力。为了保持设计上的精简,C 语言并没有在核心语言层面提供对 IO 相关接口的支持,相反,采用了标准库的方式来实现。通过引用名为 stdio.h 的标准库头文件…

2026/9/10 6:21:36

研发驱动AI落地:制造业智能转型的四步炼金术

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/10 6:21:36

4.5小时攻克单片机原理考试:聚焦51系列核心考点

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/10 6:21:36

全离散扩散建模:Intern Lumina U2 的 token 级生成范式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/10 6:21:36

鸿蒙版Flutter天气应用:Staggered Grid多城市卡片墙实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/10 6:16:35

CANN/GE单算子执行接口

aclopExecuteV2 【免费下载链接】ge GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow…

2026/9/9 13:11:35

超人会飞不算本事:系统稳定依赖清晰规则与边界设计

开头先不绕弯子。“#斯坦李吐槽dc 所以超人是无缘无故会飞的嘛哈哈哈哈哈哈哈锤哥真是技术人才啊!#雷神 #复联”这类调侃式短标题,第一波冲击力在于它把两个宇宙的角色塞进同一个吐槽箱里,但细想一下就能发现,它真正碰到的根本不是…

2026/9/8 7:15:15

超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论

把“蜘蛛侠 vs 超人”放在 CSDN 上聊,可能很多人第一反应是走错片场了。但如果把这两个角色看成“两个持续运营了 80 多年的文化产品”,你会发现,这场比较本质上是两个不同 IP 策略的长期结果对比:超人赢在定义了整个超级英雄题材…

2026/9/9 16:31:09

基于CNN的调制信号识别:MATLAB实现时频图分类实战

简介:本资源是一套面向通信工程与信号处理方向学习者、研究者的深度学习实践方案,聚焦调制信号自动检测与识别这一典型无线通信任务,解决传统方法依赖人工特征、低信噪比下性能下降等痛点。压缩包共12个文件(10.73MB)&…

2026/9/10 0:00:55

目录对比去重实战:用哈希算法精准清理重复文件

我电脑里现在还有一块换了三次机的“数据墓地”硬盘,里面存着2016年以前所有旧笔记本的完整备份。平时不觉得有什么,直到前阵子想把它整理归档,发现同一个安装包、同一批照片、同一份论文草稿,在几个不同的备份目录里反复出现。更…

2026/9/10 0:00:55

Leaflet离线地图完整Demo合集:内网部署与坐标纠偏实战

简介:这是一份面向Web GIS开发者的LeafLet离线地图示例合集,帮助开发者快速掌握离线地图从搭建到交互的完整流程。压缩包共723个文件,大小14.06MB,以319个js脚本、175个html页面和29个css样式文件为主体,配合png/svg图…

2026/9/10 0:00:55

MATLAB读取Rinex 3.02观测文件:多系统GNSS数据解析实战

简介:基于MATLAB开发的Rinex3.02版观测文件(o文件)读取代码包,面向卫星定位导航方向的学习者与研究人员,用于解决新版观测文件的数据解析、历元提取与时间转换问题。压缩包共4个文件,包含两个m脚本、一个19…

2026/9/7 16:23:03

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/7 22:46:00

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/9 10:21:54

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码