執行個體狀態
每個執行個體都恰好處於八種狀態之一。執行個體 頁面上的徽章、執行個體詳細頁面上的徽章,以及 API 回傳的 status 欄位,回報的都是同一個值。
這些狀態
| 狀態 | 轉換中 | 代表什麼 | 計什麼費 | 可以從它做什麼 |
|---|---|---|---|---|
creating | 是 | 你的部署已被接受,Superheat 正在佈建切片並拉取映像檔 | 不收費 | 等待,或直接銷毀 |
starting | 是 | 一個已停止的執行個體正在同一台機器上、用同一顆硬碟重新起來 | 不收費 | 等待,或直接銷毀 |
running | 否 | 工作負載已就緒,連線資訊已公布 | GPU:整個切片依報價的每小時價格計價,按秒計量 | 用 SSH 連線、開啟 JupyterLab、讀取日誌、停止、銷毀 |
stopping | 是 | 工作負載正在關閉;硬碟會保留 | 不收費 | 等待 |
stopped | 否 | 工作負載已關閉;你的硬碟與你在那台機器上的插槽都替你留著 | 硬碟:你的硬碟容量乘上每 GB 每小時的儲存費率 | 啟動、銷毀 |
destroying | 是 | 拆除進行中,切片正在釋出 | 不收費 | 等待 |
destroyed | 否 | 終端狀態。硬碟已刪除,報價已回到市集上 | 不收費 | 沒有動作。已銷毀的執行個體不會出現在清單裡,除非你特地把它們叫出來 |
error | 否 | 佈建或某次狀態轉換失敗 | 不收費 | 讀取日誌、銷毀 |
error 不收任何費用,但它是一個已放置的狀態:在執行個體被銷毀之前,那些 GPU 都仍為你的執行個體保留著,而且不會回到該報價的 available_units 裡。把它銷毀,才能把它們釋回市集。
轉換中狀態
有四種狀態 — creating、starting、stopping 和 destroying — 屬於轉換中:Superheat 正在把這次變更做完,沒有任何計量在跑,而你做什麼都不會讓它更快 — 不過處於 creating 或 starting 的執行個體可以直接銷毀,不必等它跑完。主控台會為這幾種狀態畫出閃動的徽章,只要你有任何執行個體處在其中一種,就每 3 秒輪詢一次,等一切都安定下來後再退回每 15 秒一次。
執行個體處於 creating 時,主控台會顯示提示 正在佈建你的機器 — 通常不到 20 秒。映像檔很大時,拉取會比這久,而拉取時間一律不收費。
哪些轉換是合法的
| 從 | 可以轉到 |
|---|---|
creating | running、error、destroying |
starting | running、error、destroying |
running | stopping、destroying |
stopping | stopped |
stopped | starting、destroying |
destroying | destroyed |
destroyed | 無 — 這個狀態是最終的 |
error | destroying |
正常的路徑是 creating → running → stopping → stopped → starting → running。拆除永遠是 destroying → destroyed。
destroying 之所以能從 creating 與 starting 到達,是刻意的。一個永遠落不了地的部署——放置一直在等、因為機群裡沒有任何東西符合,或者主機已經不認得那個作業——否則就會變成一個你永遠刪不掉的執行個體:銷毀呼叫會被拒絕、沒有任何東西會推進它,而那個切片會一直掛在你的組織名下,GPU 也賣不出去。一個還在起來的執行個體,你是可以把它銷毀的。
stopping 是例外:它只能轉到 stopped。讓關機跑完,再銷毀它。
任何要求進行這張表以外的轉換的請求,都會以 409 INVALID_STATE 被拒絕,執行個體則原封不動。