mcpField
P
physical-ai-infrastructure-setup-and-resilient-scaling

physical-ai-infrastructure-setup-and-resilient-scaling

github.com/promptingcompany云与 DevOps039 次安装17 周前更新
代码仓库

关于 physical-ai-infrastructure-setup-and-resilient-scaling

此技能编排 Physical AI 基础设施的搭建与弹性运行,适用于通过 Kubernetes 和 OSMO 部署工作负载的团队。它按目标选择组件指南,设置分阶段验证门槛,并将支持的工作负载路由至相应技能。

主要功能

  1. 01选择兼容的集群、OSMO 与推理目标
  2. 02部署前运行预检
  3. 03按基础设施阶段安排部署
  4. 04验证集群、推理、OSMO 和工作负载
  5. 05指导工作负载监控与恢复

适用场景

  1. 01为选定工作负载搭建 Physical AI 基础设施
  2. 02集群就绪后部署 OSMO 与推理服务
  3. 03提交工作流前检查端点就绪状态
  4. 04排查失败工作流,避免盲目重试

安装

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

$npx skills add https://github.com/promptingcompany/nv-skills --skill physical-ai-infrastructure-setup-and-resilient-scaling

安装后在 Claude Code 中输入/physical-ai-infrastructure-setup-and-resilient-scaling确认已加载。

包含的文件

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

BENCHMARK.md
components/azure-access/
reference.md
components/cluster-azure/
.gitignore
reference.md
components/cluster-azure/scripts/
helmfile.yaml
main.tf
outputs.tf
preflight.sh
setup.sh
storage-class-nfs.yaml
system_node_capacity_test.sh
terraform.tfvars.example
variables.tf
versions.tf
components/cluster-azure/terraform/
main.tf
outputs.tf
terraform.tfvars.example
variables.tf
versions.tf
components/cluster-azure/terraform/modules/
README.md
components/cluster-azure/terraform/prerequisites/
az-sub-init.sh
install-terraform.sh
register-azure-providers.sh
robotics-azure-resource-providers.txt
components/cluster-microk8s/
reference.md
runtimeclass-nvidia-runc.yaml
components/cluster-microk8s/scripts/
preflight.sh
components/driver/
reference.md
components/inference-azure/
reference.md
components/inference-azure/scripts/
install.sh

详细介绍

Physical AI 基础设施设置与弹性扩展

Physical AI 基础设施栈的权威技能。使用它将集群、推理、OSMO 和工作负载阶段组合起来,构建可复现的 Physical AI SDG 环境,并确保环境始终可观测且可恢复。

操作规则

  • 只读取所选目标所需的组件参考资料。不要默认加载所有组件。
  • 将仓库作为持久化产物。修复已纳入版本控制的配置或脚本,然后重新运行。不要通过未跟踪的一次性更改来恢复失败的安装。
  • 如果存在已纳入版本控制的脚本,则通过该脚本执行会修改集群、OSMO、Helm、Terraform 或 Azure 状态的操作。允许执行只读诊断。
  • 在第一个未通过的关卡处停止。按以下顺序修复最底层的责任层:配置、脚本,然后是技能指南。
  • 尽可能从环境中推导值。仅询问无法推断的值,例如 API 密钥、目标选择或配额取舍。
  • 将密钥存储在 ${REPO_ROOT}/.env 中。存储、数据库、Redis 和端点名称等从集群推导的值应来自 Terraform 输出或平台查询,而不是 .env。
  • 预检意味着不存在已部署状态:没有集群 API、Terraform 输出、Helm 发布、OSMO 池或工作流状态。这些属于部署/验证关卡。
  • 切勿在命令、YAML、日志或对话记录中打印、回显或粘贴原始密钥。优先使用凭据句柄、Kubernetes secretKeyRef 和仅在运行时注入密钥。分享前,使用 scripts/scan_transcript_secrets.py 扫描原始对话记录导出文件。
  • 使用绝对路径。通过 git rev-parse --show-toplevel 推导仓库根目录。

组件参考资料

每个组件都位于此技能中,因此整个技术栈只有一个权威触发入口。仅当所选目标需要相应部分时,才加载该组件的参考资料。

事项加载资源
阶段矩阵和旧版驱动程序说明components/driver/reference.md无
MicroK8s 集群components/cluster-microk8s/reference.mdcomponents/cluster-microk8s/scripts/、components/cluster-microk8s/runtimeclass-nvidia-runc.yaml
Azure AKS 集群components/cluster-azure/reference.mdcomponents/cluster-azure/scripts/、components/cluster-azure/terraform/
NIM Operator 推理components/inference-nim-operator/reference.mdcomponents/inference-nim-operator/scripts/、components/inference-nim-operator/nims/
NVCF 推理components/inference-nvcf/reference.mdcomponents/inference-nvcf/scripts/
Azure AI Foundry 推理components/inference-azure/reference.mdcomponents/inference-azure/scripts/
MicroK8s OSMOcomponents/osmo-k8s/reference.mdcomponents/osmo-k8s/scripts/、上游 OSMO 部署脚本
Azure OSMOcomponents/osmo-azure/reference.mdcomponents/osmo-azure/scripts/、上游 OSMO 部署脚本以及 Azure TF 输出
Azure 访问设置components/azure-access/reference.md无
OSMO CLI 和工作流操作components/osmo-cli/reference.mdcomponents/osmo-cli/scripts/、components/osmo-cli/references/、components/osmo-cli/agents/、components/osmo-cli/tests/
OpenClaw Azure 设备登录components/openclaw-azure-login/reference.md无
OSMO CLI 支持文件

OSMO CLI 组件包含二级支持文件,因为其命令和工作流范围较大。仅在指定情况下直接加载这些文件。

文件读取时机
components/osmo-cli/agents/workflow-expert.md启动用于生成工作流或排查工作流故障的子 Agent 时。
components/osmo-cli/agents/logs-reader.md启动用于汇总 OSMO 工作流故障日志的子 Agent 时。
components/osmo-cli/references/cli-commands.md需要查询确切的 OSMO CLI 标志、载荷或命令语法时。
components/osmo-cli/references/workflow-spec.md需要查询工作流 YAML 架构、凭据、输出或提供程序字段时。
components/osmo-cli/references/workflow-patterns.md需要设计多任务、数据依赖、Jinja、串行或并行工作流时。
components/osmo-cli/references/advanced-patterns.md需要检查点、重试/退出行为或节点排除相关信息时。
components/osmo-cli/tests/orchestrator-runtime-failure.md验证或调试 OSMO 编排审查模式时。

目标选择

每个阶段恰好选择一个选项。阶段 2 在阶段 1 之后进行。

  1. Kubernetes:MicroK8s 或 Azure
  2. OSMO:Kubernetes 为 MicroK8s 时选 MicroK8s OSMO,Kubernetes 为 Azure 时选 Azure OSMO
  3. 推理:NIM Operator、NVCF、Azure AI Foundry 或 None
  4. 工作负载:Video Data Augmentation、Defect Image Generation、NuRec Carline Adaptation、NRE、NCore、Asset Harvester 或自定义工作流 YAML

预配前拒绝无效组合:

集群NIM OperatorNVCFAzure AI Foundry
MicroK8s是是否,Foundry 需要 Azure 标识
Azure是是是

对于 OpenClaw 或任何无法打开浏览器的纯聊天环境,在检查 Azure 先决条件前,先阅读 components/openclaw-azure-login/reference.md。 对于任何 Azure 目标,在运行 Azure 组件预检前,先阅读 components/azure-access/reference.md。

设置流程

  1. 确认目标选择和工作负载的计算要求。
  2. 加载所选组件的参考资料。
  3. 提前解决先决条件,包括 API 密钥、Azure 访问权限、调用方 CIDR、GPU 配额、存储类和 OSMO 登录要求。
  4. 预配前,对每个选定的基础设施组件以及任何 OSMO CLI/工作负载运行预检 scripts/preflight.sh;根据结果制定实施计划,并在预检出现红色状态时停止。
  5. 首先部署 Kubernetes。集群门禁通过前,不得启动其他任何操作。
  6. Kubernetes 部署完成后,再部署 OSMO 和推理。集群就绪后,这两项可以并行进行,但只有在所有选定门禁均通过后才能提交工作负载。
  7. 只有在 OSMO、存储凭据、计算池和所选推理端点都通过验证后,才能提交工作负载。对于 VDA,这包括运行 preflight_credentials.sh、使用已解析的 --set 值运行 pre_submit_guard.py、确保模型缓存前缀非空,以及执行工作流命名空间端点冒烟测试。
  8. 监控直至完成。工作流状态失败时,从 components/osmo-cli/reference.md 检查事件和日志;切勿盲目重新提交。

推理发现

避免过度部署成本高昂的端点。

  1. 扫描所选工作流规范和默认值,查找端点引用:*.osmo-nims.svc.cluster.local、api.nvcf.nvidia.com/*、*.inference.ai.azure.com 或 *.cognitiveservices.azure.com。
  2. 将每个引用映射到所选后端:
    • NIM Operator:服务名称必须与 components/inference-nim-operator/nims/ 下的目录名称一致。
    • NVCF:环境必须提供函数 URL 或函数 ID。
    • Azure AI Foundry:端点名称必须通过 components/inference-azure/scripts/install.sh 部署。
  3. 如果工作流需要的能力不受所选后端支持,请停止并报告不匹配。不得悄悄替换为其他模型。

验证关卡

每个阶段在组件参考中都有自己的 Verify 部分。这些关卡是强制要求:

阶段关卡
Kubernetes可访问集群 API,节点状态为 Ready,GPU 路径已公布 GPU 容量,并且 CPU + NVCF 路径已将 runtimeclass/nvidia 映射到 runc。
推理工作负载引用的每个端点均可访问。NIM 就绪状态通过 /v1/health/ready 检查;NVCF 和 Foundry 仍需执行特定任务的身份验证检查。
OSMOOSMO Pod 状态为 Ready,资源池状态为 ONLINE,端口转发看门狗运行正常,存储凭据已配置,且 verify-hello 工作流状态为 COMPLETED。
工作负载提交前,所选工作负载的防护检查均已通过。osmo workflow query <id> 报告状态为 COMPLETED,且每个任务均为绿色。对于失败的终态,重试前必须先检查事件和日志。

弹性扩缩容

  • 在配置集群前,根据工作负载需求确定集群规模。对于 Azure,在运行 terraform apply 前,检查所选 VM 系列的 CPU 和 GPU 配额。
  • 对于 NIM Operator,只部署工作负载引用的 NIMService。每项服务在集群生命周期内都会预留 GPU 和模型缓存存储。
  • 使 OSMO 存储 URL 方案与当前使用的后端保持一致。本地 MicroK8s 使用 MinIO,Azure 使用基于 Blob 的配置。
  • 将 Pending、Unknown、ImagePullBackOff、未绑定的 PVC 或 Ready 副本数为 0 视为层级故障。再次运行相同命令前,先排查调度、存储、镜像凭据和相邻平台状态。
  • 对于耗时较长的部署或工作流监视,提供心跳更新,说明当前状态、已用时间、最近的有效观察结果以及下一步检查。

工作负载路由

  • 视频数据增强:使用 skills/physical-ai-video-data-augmentation/SKILL.md。
  • 缺陷图像生成:使用 skills/physical-ai-defect-image-generation/SKILL.md。
  • NuRec 车系适配:使用 skills/carline-adaptation/SKILL.md。
  • NRE、NCore 和 Asset Harvester 位于 skills/INDEX.md 中列出的 NuRec 官方目录中。
  • 自定义工作负载:检查资源请求、镜像凭据、数据凭据和推理 URL 后,通过 OSMO 提交提供的工作流 YAML。

评估提示词和结果

  • 正向触发:“在 Azure AKS 上使用 NIM Operator 为 VDA 设置弹性 Physical AI 基础设施。” 预期:使用此技能。
  • 负向触发:“总结此工作流 ID 对应的近期 OSMO 工作流日志。” 预期:除非请求还涉及基础设施堆栈的设置、扩缩容、验证或恢复,否则不要使用此基础设施设置技能。

最近一次静态审查:2026-05-26,描述关键词与上述预期路由相符。

评论

支持 Markdown