SuperAPI AI 工具集

runpod-pod-deploy

部署与运维

查看项目

更新于 11-06 11:16

技能介绍

用途

该技能在 Runpod 上开通一个 Pod,供交互式使用、开发或训练,并告知用户具体如何连接。创建前先确认所选 GPU 型号在目标数据中心有实际库存;创建调用只放置指定的型号,不会回退到其它 GPU,无法放置时返回 400。

主要能力

  • 按数据中心读取 GPU 库存(include:["AVAILABILITY"] 与 product:["POD"] 配合使用),确认型号可用后再创建。
  • 通过同一读取的 cudaVersions 查看各 GPU 型号有容量的 CUDA 版本,必要时用 get-capacity 查看跨宿主 CUDA 版本的矩阵。
  • 读取数据中心列表与详情。
  • 为训练场景创建网络卷,用于检查点持久化。
  • 创建 Pod(镜像、GPU 或 CPU、磁盘、端口、环境变量、数据中心、挂载)。
  • 检查 Pod 状态、暴露端口和代理/公开地址;列出 Pod;读取 Pod 启动日志。
  • 停止 Pod(保留卷磁盘)、恢复已停止的 Pod、终止 Pod。
  • 读取和更新账户 SSH 密钥。

使用方式

分三个阶段:

  1. 确认库存并规划 Pod:先读 GPU 可用性;按用途选镜像(交互式应用如 ComfyUI、PyTorch 镜像用于开发,CUDA/PyTorch 基础镜像用于训练),并把镜像的 CUDA 版本作为下限(gpu.minCudaVersion)固定在创建请求上;镜像须来自本次会话的读取(模板、Hub 仓库或已在账户上运行的 Pod),目录无匹配时才可退回知名公共镜像并明确说明;根据工作负载决定端口(应用自身 HTTP 端口、Jupyter 用 8888/http、SSH 用 22/tcp,SSH 还需 startSsh: true 且账户已注册密钥);创建前说明 GPU 小时价格。
  2. 创建并连接:创建后等待运行,检查并读回暴露端口和实际映射;容器初始化期间 runtime.ports 为空,需轮询到有值再交付 URL;应用镜像较大,拉取可能需数分钟,启动慢不算失败,不得因此再建第二个 Pod;Pod id 出现后可先给出代理 URL 形式 https://<podId>-<port>.proxy.runpod.net;SSH 方面返回 ssh.direct(需要 22/tcp,支持 scp 和 rsync)或 ssh.proxy(仅交互式 shell);确认应用已绑定端口(启动日志中的监听行)后再告知可访问。
  3. 交付:在最终消息中独立给出 Pod id、所用镜像及其来源、GPU 型号及库存证据、可访问 URL 原文、挂载路径(如有)以及 Pod 状态和当前计费的小时费用。

创建后暂不运行:创建并确认运行后执行停止而非终止;停止会结束计算计费并释放 GPU,清空容器磁盘,卷磁盘(默认 /workspace)保留并按停止磁盘费率计费直到 Pod 被终止;Pod 留在原机器上恢复,若该 GPU 被他人租走,启动可能因无空闲 GPU 被拒。

训练 Pod:检查点写入容器磁盘会随 Pod 消失,因此需在同一数据中心创建网络卷(网络卷只能挂载到 Secure Cloud Pod),将 Pod 放在该数据中心并把卷挂载到检查点路径(如 /workspace 或 /checkpoints),告知挂载路径及检查点可跨停止/终止保留;卷容量应为预期检查点总量留出余量。Pod 上的挂载路径由 mounts 设定(无默认值),Serverless worker 始终在 /runpod-volume 看到该卷。

清理:默认保留用户要求的 Pod 并说明计费方式和停止方法;仅当用户说明是一次性测试或要求清理时才拆除,并通过读取确认。

适用场景

  • 交互式开发 Pod(如 ComfyUI、Jupyter)。
  • 需要持久检查点的训练 Pod。
  • 创建后暂不运行、稍后恢复的 Pod。

限制与注意事项

  • 创建 Pod 和网络卷均计费,须在创建前说明小时费用。
  • 不得在无库存的 GPU 型号上创建;不得停止、终止或修改用户未指名的 Pod 或卷。
  • 不得仅凭创建调用就声称 Pod 可访问,必须先读回状态。
  • 只暴露工作负载需要的端口,不额外开放 SSH 或其它端口。
  • 代理 URL 默认公开且无认证,敏感内容需自行加认证。
  • 创建返回 400 时应报告并改选其它型号或数据中心,而非盲目重试;create-network-volume 被拒需读取具体原因(数据中心不支持网络存储、容量超出 10–4096 GB 或余额不足)后停止。
  • 该技能跨会话的答复契约定义在 runpod-mcp 技能中;若本会话尚未加载 runpod-mcp,需先加载再调用工具。