关于 doca-container-deployment
面向在 BlueField 上部署 DOCA 服务容器的外部运维人员和平台团队的指导技能。它说明独立模式 kubelet 的通用部署方式,并引导使用任务及服务专属指南,而非臆造部署细节。
主要功能
- 01BlueField 容器部署运行时指导
- 02静态 Pod 清单部署流程
- 03八层故障分类
- 04状态、日志与存活信号检查
- 05按服务和任务路由指南
适用场景
- 01在 BlueField 上部署 DOCA 服务容器
- 02排查 Pod 调度、拉取或启动失败
- 03检查容器内服务是否就绪
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ nvidia/ skills --skill doca-container-deployment安装后在 Claude Code 中输入/doca-container-deployment确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
BENCHMARK.mdCAPABILITIES.mdskill-card.mdskill.oms.sigTASKS.mdevals/evals.jsonreferences/details.md详细介绍
DOCA 容器部署
示例
- “如何在 BlueField 上运行 DOCA 服务容器?” — 完成设置入口识别后,这属于本技能的范围。提供有文档记录的 pod 规范;不要自行编造 YAML 或镜像标签。
- “目录中有 pod 规范,但 pod 始终无法启动。” — 在允许 kubelet 进入重启循环之前,先按八层分类法逐层排查。
说明
按下方的加载顺序操作。打开任务配套文件以进行 配置 / 运行 / 调试。打开能力配套文件以了解 kubelet 独立运行的约定。不要打开所有配套文件。
从这里开始: 本技能用于操作跨领域的 DOCA 容器部署运行时——所有 DOCA 服务在 BlueField 上启动时采用的通用模式(BlueField Arm 上的 kubelet 独立 Agent 监视静态 Pod 清单目录;操作员将 YAML pod 规范放入该目录;kubelet 调度 pod 并运行容器)。
如果开发者尚未决定使用容器还是裸机
(“我刚拿到一台 BlueField,接下来该做什么?”、“我的代码已经构建好了,怎么运行?”、“如何部署?”),请先将其引导回
doca-setup/SKILL.md。
这是入口路由决策。错误的做法是因为 Agent 首先加载了本技能,就悄然将所有开发者引导到容器路径。## recognize 会识别系统形态,提出最少的后续问题,并将开发者引导至本技能(当工作负载是要部署到 BlueField 上的打包 DOCA 服务时)或裸机路径的同级技能
doca-bare-metal-deployment/SKILL.md
(当工作负载是开发者直接启动的、链接了 DOCA 的应用程序二进制文件时)。
如果开发者已经选择容器路径,请打开任务配套文件,并从
## configure 开始。如果问题是运行时是什么形态,以及部署约定是什么,则从能力配套文件开始。对于特定服务的
叠加层,请参阅 skills/services/ 下叠加于本技能之上的特定服务技能 ——
受支持的叠加层包括 Argus、DMS、Firefly 和 UROM service。Flow-Inspector 和 OS-Inspector 因策略要求不纳入此公开软件包;请将其引导至
doca-public-knowledge-map/SKILL.md,
而不是应用此运行时叠加层。NVIDIA 对外产品化的服务(BlueMan、HBN、SNAP、Virtio-net、产品化的 DOCA Telemetry Service 等)也不在范围内,应引导至该知识地图。如果 BlueField 目标上尚未安装 DOCA,请先引导至
doca-setup/SKILL.md。
适用对象
此技能面向在 BlueField 上部署 DOCA 服务容器的外部运维人员和平台团队——也就是说,他们拥有一台 Arm 侧已安装 DOCA 的 BlueField,BlueField OS 映像中已包含容器运行时和 kubelet 独立 Agent,并且具备所选服务的公共 DOCA 容器部署指南所列的主机 OS 权限。此技能提供通用部署运行时;此工具包中每项服务对应的技能(请参阅 ## 相关技能 中的列表)会提供该服务专属的配置架构、配套工作负载约定和“健康”定义。
此技能不适用于为 BlueField 容器运行时或 kubelet 本身做贡献的 NVIDIA 开发人员,也不是通用 Kubernetes 教程。此处的 kubelet 在 BlueField 上以独立模式运行——没有完整的 Kubernetes 控制平面,也不会通过 kubectl 访问集群 API 服务器——而 BlueField 上大多数容器部署问题的实质性答案都在公共 DOCA 容器部署指南中。此技能会教 Agent 应引用哪份指南、按照什么顺序逐步操作,以及如何将症状对应到相应层;它不会重新定义 kubelet 标志、Pod 规范字段名或静态 Pod 路径字符串。此处描述的通用部署运行时是跨服务的层;每项服务对应的技能(doca-argus、doca-dms、doca-firefly、doca-urom-svc)则提供该服务专属的配置架构、配套工作负载约定和“健康”定义。
何时加载此技能
当用户正在 BlueField 目标上亲自部署任意 DOCA 服务容器,或者询问不涉及某项服务专属配置架构的跨服务部署问题时,请加载此技能。具体包括:
- 将 YAML Pod 规范放入 BlueField Arm 上文档规定的静态 Pod 清单目录,以便 kubelet 独立调度 Pod 并运行 DOCA 服务容器。
- 检查任何受支持的工具包内 DOCA 服务容器(Argus、DMS、Firefly 或 UROM 服务)的 Pod 状态、容器日志和文档规定的存活信号,从而让 Agent 对每项服务都以相同方式回答“容器是否已启动,以及其中的服务是否已就绪”。
- 在 BlueField 承载工作负载之前,按顺序完成冒烟测试再扩大部署:Pod 达到
Running状态;ENTRYPOINT 日志无异常;服务能响应简单的存活探测。 - 诊断部署异常:Pod 规范 YAML 已放入目录,但 Pod 从未被调度;Pod 已被调度,但拉取镜像失败;镜像已拉取,但容器 ENTRYPOINT 立即退出;容器正在运行,但其中的服务始终没有响应;修改配置后容器陷入重启循环;Pod 规范中指定的卷挂载在主机上不存在;网络策略或主机防火墙规则阻止了服务。
- 跨服务问题:“我能否在同一台 BlueField 上运行 DMS 和 Firefly”、“如何列出当前正在运行的所有 DOCA 服务 Pod”、“如果我直接修改 Pod 规范文件,文档规定的停止/重启行为是什么”。
以下情况不要加载此技能:有关服务专属配置架构的问题(应使用对应的服务技能);安装 DOCA 本身或准备 BlueField 环境(请使用 doca-setup/SKILL.md);库 API 相关问题(请使用对应的 libs/<library> 技能);或通用 Kubernetes 集群运维(此技能涵盖的是 BlueField 上的 kubelet 独立模式,而非完整的 Kubernetes 控制平面)。
此技能提供的内容
这是一个轻量加载器。实质性内容位于两个配套文件中:
- capabilities 配套文件 — BlueField 上 DOCA 容器部署的跨领域运行时约定(BlueField Arm 上的 kubelet 独立 Agent 监视有文档说明的静态 Pod 清单目录;YAML Pod 规范文件是操作员输入的单元;同一模式适用于每项 DOCA 服务)、BlueField 前提条件(DOCA 已安装、容器运行时、BFB 版本、服务模拟设备时所需的固件槽位、可访问 NGC 以拉取映像、主机 OS 权限)、可观测性界面(kubelet 状态、容器日志、服务端存活信号——三个层级,各有其负责方)、跨领域错误分类(Pod 规范语法 → Pod 调度 → 映像拉取 → 运行时 → 卷挂载 → 网络策略 → 版本 → 跨领域主机),恰好涵盖八个层级,以及安全策略(批量操作前先进行冒烟测试;Pod 故障风险很高——在允许 kubelet 反复重启 Pod 前,先查明根本原因;切勿凭记忆编造 Pod 规范字段名 / kubelet 标志 / 映像标签)。
- tasks 配套文件 — 涵盖范围内部署操作的分步工作流:
configure、build、modify、run、test、debug;另有一个Deferred task verbs区块,将各服务配置问题、主机固件槽位工作、配对工作负载工作和完整 Kubernetes 集群工作转交给对应技能。
此技能假定目标 BlueField 的 Arm 侧已安装 DOCA,BlueField OS 映像按公开的 DOCA Container Deployment Guide 提供 kubelet 独立模式和容器运行时,并且操作员拥有该指南所述的主机 OS 权限。此技能不涵盖安装 DOCA——该流程由 doca-setup/SKILL.md 负责;也不会重新记录各服务的配置架构,因为这属于各项 DOCA 服务公开指南的权威内容,可通过 doca-public-knowledge-map/SKILL.md 查阅。
加载顺序
- 首先阅读此技能,确认用户的问题属于其范围(跨领域部署运行时,而非特定服务的配置架构问题)。
- 有关 kubelet 独立模式运行时形态、静态 Pod 清单目录规则、主机 OS / BFB / 固件槽位 / 映像拉取前提条件、八层错误分类、可观测性界面以及安全 / 冒烟测试优先于批量操作策略,请参阅 capabilities 配套文件。
- 有关分步工作流——configure、build、modify、run、test、debug——请参阅 tasks 配套文件。
相关技能
doca-public-knowledge-map/SKILL.md— 公开的 Container Deployment Guide、各服务指南和 NGC。请引用其中有文档说明的路径和标签;切勿编造。doca-setup/SKILL.md— BlueField 目标上的环境和安装, 包括用于选择此技能或裸机部署的识别入口。doca-bare-metal-deployment/SKILL.md— 同级的二进制启动路径。doca-debug/SKILL.md— 跨领域调试 阶梯;此运行时的 Pod / 映像 / ENTRYPOINT 层位于其中。doca-version/SKILL.md— 四方匹配和 容器标签叠加。doca-structured-tools-contract/SKILL.md— 若存在结构化状态,优先使用。- 各服务专用覆盖:
doca-argus/SKILL.md、doca-dms/SKILL.md、doca-firefly/SKILL.md、doca-urom-svc/SKILL.md。 doca-programming-guide/SKILL.md— 服务报告库错误时适用的程序端规范。