跳到主要内容

启动、停止与销毁

三种操作

操作在实例处于什么状态时可用作用通常耗时是否可逆
停止running关闭容器,保留磁盘,占住 GPU 名额几秒是,可用启动恢复
启动stopped在同一台机器、同一块磁盘上把同一个容器重新拉起来几秒是,可用停止撤回
销毁runningstoppederror移除容器,删除磁盘,把 GPU 归还市场几秒

在使用第三个操作之前,先读停止与销毁的对比。这个决定关系到你是否保住数据、是否继续付费,这里不再重复。

按钮在哪里

实例列表的每一行都带有适用于该实例当前状态的操作,实例详情页的页头也有同一组按钮。不适用的按钮不会显示——运行中的实例没有启动按钮,已停止的实例没有停止按钮。

销毁会先要求确认,弹出的对话框会写明将要删除哪些东西。其他操作都不会问第二遍。

点击之后会发生什么

这三个操作都不是瞬间完成的。实例会进入一个过渡状态,状态标记开始闪动,控制台持续轮询直到机器返回结果:

你点击的操作处理期间的状态完成后的状态
停止stoppingstopped
启动startingrunning
销毁destroyingdestroyed

实例处于过渡状态时不接受任何进一步的操作。硬要发起操作会返回 409 INVALID_STATE,消息中会指出是哪个状态挡住了它,例如 Cannot stop an instance while it is creating。等过渡完成后再试。哪个状态能转到哪个状态,完整的映射见实例状态

重新启动

启动需要余额。如果你所在组织的余额为零或为负,启动会被拒绝并返回 402 INSUFFICIENT_BALANCE,实例不会有任何变化——先充值余额。实例停止期间累积的存储费会在你启动它的那一刻结算,因此之后你看到的余额已经算上了整个停止时段。

启动会把你放回同一台机器、同一块磁盘上。不过连接信息会重新签发,所以要重新复制 SSH 命令,不要沿用旧的。参见通过 SSH 连接

处于 error 的实例

没能成功启动起来的实例会落到 error。它既不能启动,也不能停止。唯一可用的操作是销毁。读日志搞清楚哪里出了问题,然后销毁它并重新部署。

通过 API 操作

以下示例使用 $SUPERHEAT_API$SUPERHEAT_KEY,请按 API 概览 中的说明设置。

curl -X POST -H "Authorization: Bearer $SUPERHEAT_KEY" \
$SUPERHEAT_API/v1/instances/$INSTANCE_ID/stop

curl -X POST -H "Authorization: Bearer $SUPERHEAT_KEY" \
$SUPERHEAT_API/v1/instances/$INSTANCE_ID/start

curl -X DELETE -H "Authorization: Bearer $SUPERHEAT_KEY" \
$SUPERHEAT_API/v1/instances/$INSTANCE_ID

每个请求都会返回处于新的过渡状态的实例。轮询 GET /v1/instances/{id} 观察它何时完成。参见实例

平台替你执行的操作

当组织的钱花完时,这三个操作中有两个会自动执行:

余额会发生什么
降到 $0运行中的实例被停止;磁盘保留
降到 −$5实例被销毁;磁盘被删除

参见自动停止与自动销毁

相关内容