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