啟動、停止與銷毀
三個動作
| 動作 | 執行個體在什麼狀態時會提供 | 它會做什麼 | 通常要花 | 可逆 |
|---|---|---|---|---|
| 停止 | running | 關掉容器,保留硬碟,保住 GPU 名額 | 幾秒鐘 | 是,用「啟動」 |
| 啟動 | stopped | 在同一台機器與同一顆硬碟上把同一個容器叫回來 | 幾秒鐘 | 是,用「停止」 |
| 銷毀 | running、stopped 或 error | 移除容器、刪除硬碟,把 GPU 還給市集 | 幾秒鐘 | 否 |
在你動用第三個之前,請先讀停止與銷毀的差別。那是決定你會不會保住資料、會不會繼續付錢的選擇,這裡不再重複。
按鈕在哪裡
執行個體 中的每一列都帶著適用於該執行個體目前狀態的動作,執行個體詳細頁面的標頭也會出現同一組。不適用的按鈕不會顯示 — 執行中的執行個體沒有「啟動」,已停止的沒有「停止」。
銷毀會先要求確認,對話框會明白寫出即將被刪除的東西。其他動作都不會問第二次。
按下之後會發生什麼
三個都不是瞬間完成的。執行個體會進入過渡狀態,狀態徽章會閃動,主控台會持續輪詢,直到機器回報:
| 你按下 | 進行中的狀態 | 完成後的狀態 |
|---|---|---|
| 停止 | stopping | stopped |
| 啟動 | starting | running |
| 銷毀 | destroying | destroyed |
執行個體處於過渡狀態時不接受任何進一步的動作。硬要下一個會拿到 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 | 執行個體會被銷毀;硬碟被刪除 |
請見自動停止與自動銷毀。