mcpField
D
doca-container-deployment

doca-container-deployment

github.com/nvidia云与 DevOps3.8k138 次安装今天更新
代码仓库

关于 doca-container-deployment

面向在 BlueField 上部署 DOCA 服务容器的外部运维人员和平台团队的指导技能。它说明独立模式 kubelet 的通用部署方式,并引导使用任务及服务专属指南,而非臆造部署细节。

主要功能

  1. 01BlueField 容器部署运行时指导
  2. 02静态 Pod 清单部署流程
  3. 03八层故障分类
  4. 04状态、日志与存活信号检查
  5. 05按服务和任务路由指南

适用场景

  1. 01在 BlueField 上部署 DOCA 服务容器
  2. 02排查 Pod 调度、拉取或启动失败
  3. 03检查容器内服务是否就绪

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/nvidia/skills --skill doca-container-deployment

安装后在 Claude Code 中输入/doca-container-deployment确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

BENCHMARK.md
CAPABILITIES.md
skill-card.md
skill.oms.sig
TASKS.md
evals/
evals.json
references/
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 查阅。

加载顺序

  1. 首先阅读此技能,确认用户的问题属于其范围(跨领域部署运行时,而非特定服务的配置架构问题)。
  2. 有关 kubelet 独立模式运行时形态、静态 Pod 清单目录规则、主机 OS / BFB / 固件槽位 / 映像拉取前提条件、八层错误分类、可观测性界面以及安全 / 冒烟测试优先于批量操作策略,请参阅 capabilities 配套文件。
  3. 有关分步工作流——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 — 服务报告库错误时适用的程序端规范。

评论

支持 Markdown