部署執行個體
部署頁面是兩步驟中的第 2 步:你帶著已經選好的機器來到這裡,決定要在上面跑什麼。頁首寫著 設定與部署,而 返回 GPU 清單 會把你帶回市集,不會遺失任何設定。
逐欄看表單
報價
報價不是表單欄位 —— 它是從市集帶進來的,並以摘要卡片的形式顯示在最上方:GPU 型號、切片大小、每張卡 VRAM、位置與每小時價格。這次部署它是固定的。要換機器,就回上一步挑另一張卡片。
有兩種狀態會取代表單,而不是把表單顯示出來:
| 你會看到什麼 | 原因 |
|---|---|
| 「未選擇 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_TOKEN或GPU_COUNT。
請求內容
上面所有東西會落在一次呼叫裡:
{
"offer_id": "e1c0…",
"template_id": "9b74…",
"disk_gb": 100,
"label": "llama-finetune",
"ssh_key_id": "3f21…",
"env_overrides": [{ "key": "HF_TOKEN", "value": "hf_…" }]
}
label、ssh_key_id 與 env_overrides 是選填的;前三個欄位不是。
按鈕生效前的條件
只要下列任一項成立,部署執行個體 按鈕就會維持停用:
| 條件 | 該怎麼做 |
|---|---|
| 餘額為零或以下 | 儲值。管理員會在面板中看到 儲值餘額 捷徑;成員則會被告知去找管理員 |
| 所選範本與機器不相容 | 換一個範本,或換一張 GPU |
| 沒有選取任何範本 | 挑一個 |
| 已經有一次部署在進行中 | 等一下 —— 按鈕會寫著 「部署中…」 |
按下部署之後
- 報價會被鎖定並重新檢查。如果它已經不可用,部署就在這裡失敗,後面什麼都不會執行。
- 硬碟、範本與 SSH 金鑰會通過驗證,接著檢查你的餘額。餘額必須足以支付這個執行個體一小時的費用 —— GPU 加上你挑的硬碟 —— 而不是大於零就好。
- 到這時才會從那台機器上每一個與你重疊的規格裡扣掉你的單位,而執行個體會以
creating建立。沒有人能拿走你的 GPU;而只要那台機器還有空著的 GPU,同一項報價就仍然租得到。主控台會把你帶到它的頁面,顯示訊息 「部署中 —— 你的執行個體正在啟動」。 - 執行個體處於過渡狀態期間,頁面每三秒自我輪詢一次,畫面上的提示寫著 「正在佈建你的機器 —— 通常不到 20 秒」。
- 當執行個體進入
running,連線資訊就會出現 —— 現成的ssh -p <port> <user>@<host>指令,以及jupyter範本會有的 開啟 JupyterLab 按鈕。在那之前,該分頁會顯示連線資訊要等執行個體開始執行後才會出現。
計費不是在你按下按鈕時開始。計量器是在工作負載回報 running 時才啟動,所以佈建的那段時間不花錢,永遠沒跑起來的部署也一樣不花錢。
部署失敗時
| 錯誤 | 意義 | 主控台的處理 |
|---|---|---|
| 報價無法使用 | 有人先一步拿走那個切片 | 把你送回市集 |
| 餘額不足 | 餘額不足以支付這個執行個體一小時的費用 | 重新整理餘額並提示你儲值 |
| 硬碟太大 | disk_gb 超過主機機器的硬碟容量 | 回報那台機器的上限 |
| 找不到範本 | 範本 id 不明或已不再啟用 | 在頁面內顯示訊息 |
| 找不到 SSH 金鑰 | 該金鑰 id 不屬於你 | 在頁面內顯示訊息 |
| 機器不具備 VM 能力 | 在無法執行 VM 的機器上使用 vm 範本 | 在頁面內顯示訊息 |
| 機器進入維護 | 這台機器已排定下線,時間太近,無法在上面啟動 | 指出那個日期,並把你送回市集 |
在上面任何一步被拒絕的部署,不會建立任何東西,也不會收任何費用。而通過這些檢查、之後在佈建途中失敗的部署則不同:執行個體那一列確實存在,會停在 error,並被自動清掉 —— 它不會計費,因為計量器要等工作負載回報 running 才啟動,而這一個從來沒到過。完整清單在錯誤代碼。
這個頁面之後沒有確認步驟。從執行個體進入 running 的那一刻起,你就開始按秒計費,而之後把它停止仍然會針對硬碟計費。在你放著不管之前,先讀停止與銷毀的差別。