文件

核心概念

本服務將可預期的 Proxmox 指令與 VM 操作的即時進度串流結合。

VM 身分與 IP 配置

佈建請求可提供 id;若省略,安裝流程會配置可用 VMID。Service 會從 GATEWAY 取前三個 IPv4 octet,將 VMID 作為最後一個 octet,並配置 /24 位址。請確認設定的 VMID 範圍與網路規劃相容。

資源正規化

建立前,服務會套用預設值與限制:

資源 預設值/最小值 限制控制
CPU 預設 2;驗證時最小 1 VM_MAX_CPU
RAM 預設 2048 MB;最小 512 MB VM_MAX_RAM
Disk 預設 16G;最小 16G VM_MAX_DISK

initConfig 也會依 OS(debianubunturockylinux)設定預設 SSH 使用者,並在提供的名稱後附加 VM ID。

Cloud image 與 cloud-init

安裝流程會解析所請求發行版與版本的 OS image、驗證 URL,並僅在本機尚未快取時下載。接著建立 VM、匯入映像磁碟,並在首次開機前套用 cloud-init 與開機設定。

SSH 就緒與初始化

VM 啟動後,服務會輪詢 SSH 就緒狀態。連線成功後,會透過 SSH 執行 OS 專屬初始化、重啟 VM,並再次檢查連線。就緒檢查失敗會經由 SSE 串流回報。

SSE 進度

安裝、啟動、重啟及節點遷移均為長時間操作。其 handler 會設定 text/event-streamService.SSE 寫出以下形式:

data: {"step":"<stage>","status":"processing|success|error","message":"<detail>"}

用戶端應保持連線並依序呈現事件;本機檢視可使用 curl -N

CPU 相容性

GetClusterCPUType 會查詢 Proxmox 節點 CPU flags,計算叢集共通的最低 x86-64 level,並快取到 .go_qemu_cpu_type,避免後續佈建重複掃描叢集。

生命週期操作

API 支援啟動、強制停止、ACPI 關機、重啟、刪除、CPU/記憶體/磁碟調整及節點遷移。操作會先找出 VM 所在節點,再使用本機或 SSH 派送的 qm 指令。

請繼續閱讀設定了解部署控制,或查看 API 參考取得請求細節。

EN