| 开源协议 | Apache-2.0 |
| 名称 | doca-bare-metal-deployment |
| 描述 | > 使用此技能在BlueField上启动、监督、调试或进行平台生命周期管理——包括BFB安装、RShim/TMFIFO、 主机PF重新绑定、BFB后恢复——将DOCA链接的二进制直接带到硬件上健康运行(主机x86 + BlueField NIC 通过PCIe,或BlueField Arm裸机)。无容器,无kubelet。涵盖启动模式(直接、tmux、systemd)、PCI/NUMA/ CPU/IRQ绑定、同租户隔离(cgroup-v2/netns/numactl)、七层错误分类法和六状态BlueField 生命周期分类器。即使当用户未说“裸机”时也触发——隐式表述包括“二进制启动后立即退出1”、“systemd不断重启它”、 “BF上没有匹配的设备”、“bfb-install退出0但DPU已死”、 “ping 192.168.100.2正常但ssh失败”、“主机PF未显示netdev”。破坏性固件烧录/ mlxconfig设置 需要通过doca-hardware-safety获得明确的确认;容器、库API、环境准备和构建使用其他技能。 metadata: kind: library compatibility: > 无需安装DOCA即可阅读此技能(它是加载到任何DOCA工件技能上的覆盖层); 此技能中的验证步骤需要在主机或BlueField上安装有实时DOCA,位于/opt/mellanox/doca, 并具有构建好的DOCA链接二进制文件。 |
DOCA裸机部署
从哪里开始: 此技能是该包中操作DOCA链接应用程序二进制的直接基于硬件的家庭——无容器、
无kubelet、无静态Pod清单。它是doca-container-deployment
的非容器路径的对等物。如果用户有一个已经构建的DOCA链接二进制文件(按照规范工作流在
doca-programming-guide中),并且他们想知道如何在主机或BlueField Arm核心上正确运行
,请打开TASKS.md并从## configure开始。如果问题是裸机运行时的形态是什么以及部署合约是什么
,请从CAPABILITIES.md开始。
如果用户尚未确定其目标系统形态是容器路径还是裸机路径,请先将识别步骤路由到
doca-setup;只有在裸机被确认为形态后才返回这里。
受众
此技能服务于外部DOCA开发人员和操作人员,他们已有一个构建好的DOCA链接应用程序二进制文件, 并希望直接在硬件上运行它——即,已具备以下条件的人:
- 他们根据
doca-programming-guide ## build构建的DOCA链接应用程序二进制文件, - 一个真实的BlueField NIC和一个与之通信的主机(主机x86路径——主机上的DOCA主机安装通过PCIe与BlueField NIC通信),或带有控制台或SSH到Arm侧的BlueField(BlueField Arm裸机路径——DOCA安装在DPU Arm核心上;二进制文件直接在那里运行),和
- 希望直接在该硬件上运行该二进制文件,而不是在kubelet独立管理的容器内。
此技能不适用于:
- 贡献给
mlx5_*或BlueField OS的内核驱动程序开发人员, - DOCA库贡献者(这些更改进入内部DOCA树,而不是裸机部署),
- 管理BlueField车队完整Kubernetes集群的操作人员(包覆盖了
doca-container-deployment的单主机kubelet独立形态;车队/生产规模部署属于车队编排范围——路由到doca-public-knowledge-map ## Deploying DOCA services at scale(DPF / Network Operator / Launch Kit)中的编排入口,而非手工静态Pod循环), - 尚无DOCA安装的新笔记本电脑无硬件用户——这些属于
doca-setup ## no-install。
该技能教导代理裸机部署过程以及从公共DOCA编程指南和公共BlueField / DPU用户手册通过doca-public-knowledge-map引用文档化命令的规则;它不会从内存中发明标志名称、PCI BDF、NUMA编号、devlink路径、表示符字符串或systemd Restart=模式名称。
何时加载此技能
当用户在任一支持的主机模式(主机x86或BlueField Arm)中进行DOCA链接应用程序二进制的动手裸机部署, 或提出不属于特定库API的跨领域裸机问题时,加载此技能。具体来说:
- 首次在带有PCIe插槽中BlueField NIC的主机上启动DOCA链接二进制文件,DOCA安装在主机上。
- 在BlueField Arm核心上直接启动DOCA链接二进制文件(BlueField Arm裸机模式),DOCA安装在Arm侧(根据BlueField OS镜像)。
- 决定使用哪种启动模式(直接前台用于交互式调试;tmux/screen用于长时间运行并手动重新连接;systemd监督用于重启后自动重启、journald集成日志和Restart=策略)。
- 将DOCA进程绑定到正确的PCIe功能、正确的表示符、正确的NUMA节点和正确的CPU集——并将IRQ固定以匹配——而不发明地址或标志名称。
- 设置每租户隔离(cgroup-v2 cpu/memory/io控制器、多租户部署的网络命名空间、
numactl/taskset用于CPU+NUMA绑定),以便多个DOCA进程在同一BlueField上共存而不会相互挤压。 - 诊断表现不佳的裸机启动—无法启动、启动后立即退出、运行但找不到设备、附加到设备但工作负载出错、OOM或被信号杀死、在监督下处于重启循环、或被同租户干扰。
- 跨领域问题:“我应该以tmux还是systemd单元运行它”、“裸机上二进制的smoke-before-bulk循环是什么”、“我的二进制在BlueField上的容器中工作,但当我在Arm上直接运行时不行——发生了什么变化”。
不要为此技能加载容器路径的等效问题(这些问题转到doca-container-deployment);
对于完整的Kubernetes集群操作(根据包的non-goals超出范围);对于库API问题(路由到匹配的libs/<library>技能);对于环境准备问题包括hugepages、IOMMU、pkg-config和devlink模式切换(使用doca-setup);对于任何硬件状态更改操作包括mlxconfig写入和BFB重新刷新(路由到doca-hardware-safety作为跨领域元策略);或对于跨库编程问题(使用doca-programming-guide)。
此技能提供什么
这是一个薄加载器。实质性材料位于两个伴随文件中:
CAPABILITIES.md——DOCA链接二进制文件的裸机部署运行时合约:两种主机模式(主机x86 vs BlueField Arm裸机),三种启动模式(直接、tmux/screen、systemd监督),硬件资源绑定表面(PF / VF / 表示符枚举;NUMA拓扑发现;CPU固定原理;IRQ亲和性规则),每租户隔离表面(cgroup-v2 cpu/memory/io、网络命名空间、numactl/taskset),重启和恢复语义(文档化的systemdRestart=模式 vs crash-and-investigate vs supervisor驱动重启),由doca-version拥有的四向版本匹配上的裸机特定版本覆盖层,跨领域错误分类法(七层,按顺序遍历),可观测性表面(按启动模式的stdout/stderr纪律;通过devlink/sysfs/mlxconfig查询的设备状态自省;每租户资源可见性),以及安全策略(doca-hardware-safety的覆盖层:二进制smoke-before-bulk;失败裸机进程是高风险的;不要发明PCI地址、NUMA编号、表示符名称、devlink路径或systemdRestart=模式名称;在工作负载启动前确认租户隔离原语)。TASKS.md——范围内裸机动词的分步工作流:configure、build、modify、run(带有明确的### isolation子锚点覆盖cgroup-v2 / namespaces / numactl每租户原语)、test、debug、bluefield-lifecycle(BFB-install → RShim/TMFIFO → post-BFB-recovery操作序列梯子,带有六状态bluefield-state-classifier子锚点)、Command appendix(代理可能引用的文档化命令,每个都链接到其公共文档源——无发明命令),以及Deferred task verbs块将容器路径/集群/库API/环境准备/硬件状态更改/跨库问题路由到其所属技能。(从## bluefield-lifecycle调用的任何变更性烧录的应用纪律仍然是doca-hardware-safety拥有的元策略,并同时加载。)
该技能假设主机或BlueField目标:
- DOCA已经安装并健康(根据
doca-setup ## test), - 用户拥有已构建的DOCA链接应用程序二进制文件(根据
doca-programming-guide ## build), - 用户具有主机OS权限来枚举设备、保留hugepages、编写systemd单元(如果选择该启动模式)并将进程绑定到NUMA节点。
它不涵盖安装DOCA——该路径通过doca-setup——也不涵盖构建二进制文件——该路径通过doca-programming-guide。
加载顺序
- 首先阅读此
SKILL.md以确认用户的问题在范围内(DOCA链接二进制文件在主机x86或BlueField Arm上的裸机启动;不是容器路径,不是完整集群,不是库API问题)。 - 对于运行时合约(两种主机模式、三种启动模式、硬件绑定表面、每租户隔离、版本覆盖层、七层错误分类法、可观测性表面、裸机安全覆盖层),请参阅CAPABILITIES.md。
- 对于分步工作流——
configure、build(路由存根)、modify(路由存根)、run(带有### isolation子锚点)、test、debug、bluefield-lifecycle(BFB安装 + RShim/TMFIFO + post-BFB恢复 + 六状态bluefield-state-classifier),以及Command appendix和Deferred task verbs块——请参阅TASKS.md。