跳到主要内容

部署实例

部署页面是两步中的第二步:你带着已经选好的机器来到这里,决定在上面运行什么。页面标题写着配置并部署返回 GPU 列表会把你带回市场,不会丢失任何内容。

逐个字段讲解表单

报价

报价不是表单字段 —— 它从市场带过来,以摘要卡片的形式显示在顶部:GPU 型号、切片大小、每卡显存、位置和每小时价格。对这次部署来说它是固定的。要更换机器,请返回并选择另一张卡片。

有两种状态会取代表单,而不是把表单显示出来:

你看到的内容原因
“未选择 GPU”你没有经过市场就直接打开了这个页面
“该报价已不存在”从你选中到现在,该报价已被从目录中撤下

模板

一组模板卡片网格,每一张都会针对你所选的机器进行检查。不兼容的模板会变暗且无法点击,第一个兼容的模板会被预先选中。选择器列出精选模板;如果你是在模板库中按启动过来的,那个模板还会被固定在最前面。参见选择模板

磁盘

一个滑块,当前值以 GB 或 TB 显示在它上方。

最小值10 GB
最大值主机机器的磁盘容量,在滑块下方显示为:“这台机器最大 N”
步长10 GB
默认值50 GB

API 接受 10 到 20,000 之间的任意 disk_gb,但如果你申请的容量超过所选机器实际拥有的容量,请求会被拒绝,错误信息会告诉你那台机器的上限。

请慎重设定这个容量。实例停止期间你付的就是磁盘的钱,按滑块下方标注的每 GB 每月费率计算,而且之后无法调整大小 —— 想要更大的磁盘,就意味着要开一个新实例。

SSH 密钥

一个下拉框,列出你账号上的 SSH 密钥,默认为无密钥(仅网页终端)。旁边的添加密钥会打开与 SSH 密钥页面相同的对话框,因此你不用离开表单就能粘贴公钥。

SSH 密钥属于你个人,而不属于你的组织:从同一个组织部署的团队成员各自附加自己的密钥。密钥是在启动时安装的,因此事后添加的密钥不会作用到已经在运行的实例上 —— 实例页面上的连接命令,用的正是你在这里附加的密钥来认证。

保持无密钥会让实例在完全没有授权密钥的情况下启动,这意味着无法建立 ssh 会话。只有当模板给了你浏览器入口时(例如 jupyter 模板)才选它。

标签

可选的自由文本,最多 64 个字符,用于日后区分不同的实例 —— 用 llama-finetune,而不是一段 UUID 前缀。如果没有填写,控制台会退回使用实例 id 的前八个字符。标签只是元数据;容器内部看不到它。

环境变量覆盖

控制台表单没有暴露这些,API 有:POST /v1/instances 上的 env_overrides 接受一组 {key, value} 键值对,按 key 覆盖模板声明的环境变量,你就是用它在不编辑模板的情况下填入模板留空的密钥。

有三条规则:

  • 对于同一个 key,你的值优先于模板的值。
  • 没有值的条目会被丢弃,而不是设为空字符串。
  • 平台自身的变量始终优先于你的变量。你无法覆盖 JUPYTER_TOKENGPU_COUNT

参见环境变量实例 API

请求

上面这些内容最终汇成一次调用:

{
"offer_id": "e1c0…",
"template_id": "9b74…",
"disk_gb": 100,
"label": "llama-finetune",
"ssh_key_id": "3f21…",
"env_overrides": [{ "key": "HF_TOKEN", "value": "hf_…" }]
}

labelssh_key_idenv_overrides 是可选的;前三个字段不是。

按钮生效之前

只要下列任意一项成立,部署实例按钮就保持禁用:

条件该怎么做
余额为零或为负充值余额。管理员会在面板中看到充值余额快捷入口;成员则会被提示去找管理员
所选模板与机器不兼容换一个模板,或换一块 GPU
没有选择模板选一个
已有一次部署正在进行中等待 —— 按钮显示为:“部署中…”

按下部署之后

  1. 报价被锁定并重新检查。如果它已不可用,部署就在这里失败,后面的步骤都不会执行。
  2. 校验磁盘、模板和 SSH 密钥,然后检查你的余额。余额必须够付这个实例一小时的费用 —— GPU 加上你选的磁盘 —— 而不只是大于零。
  3. 到这时才从那台机器上所有与之重叠的规格里扣掉你占用的份额,实例以 creating 状态创建。没人能拿走你的那几块 GPU;而只要机器还有空闲的 GPU,同一份报价依然可租。控制台会把你带到实例页面,并显示:“部署中 —— 你的实例正在启动”
  4. 当实例处于过渡状态时,页面每三秒轮询一次自己,屏幕上的提示写着:“正在配置你的机器 —— 通常不到 20 秒”
  5. 当实例进入 running 后,连接详情就会出现 —— 现成的 ssh -p <port> <user>@<host> 命令,对于 jupyter 模板还有一个打开 JupyterLab 按钮。在此之前,该标签页会提示连接详情要等实例运行起来才出现。

计费不是在你按下按钮时开始的。计量器在工作负载报告 running 时才启动,因此配置期间不产生费用,永远没走到那一步的部署同样不产生费用。

部署失败时

错误含义控制台的处理
报价不可用有人先一步占用了那个切片把你送回市场
余额不足余额不够付这个实例一小时的费用刷新余额并提示充值
磁盘过大disk_gb 超过主机机器的磁盘容量报告该机器的上限
模板未找到模板 id 未知或已不再有效在页面内显示该信息
SSH 密钥未找到该密钥 id 不属于你在页面内显示该信息
机器不支持虚拟机在无法运行虚拟机的机器上使用了 vm 模板在页面内显示该信息
机器处于维护期该机器已被安排下线,时间太近,来不及在上面启动说明具体日期,并把你送回市场

在上述任一步骤被拒绝的部署不会创建任何东西,也不会产生任何费用。而通过了这些步骤、却在配置过程中失败的部署则不同:实例行确实存在,会落到 error 并被自动清理 —— 它不会计费,因为计量器要等工作负载报告 running 才启动,而这一个从来没到过那一步。完整列表见错误码

实例一跑起来,计量器就开始走了

这个页面之后没有确认步骤。从实例进入 running 的那一刻起,你就开始按秒计费,之后停止它仍然要为磁盘付费。在你放着一个实例不管之前,请先阅读停止与销毁

相关内容