原文標題:Volcano v1.16 Released: NamespaceQueue, fairshare, and a broader HyperNode ecosystem

CNCF 10 月 28 日公布 Volcano v1.16.0,這套 Kubernetes 批次與 AI 工作負載排程工具新增 NamespaceQueue 和 fairshare,並擴大 HyperNode 拓樸管理功能。NamespaceQueue 允許租戶在各自 namespace 內建立分層佇列與配額,管理員先透過叢集 Queue 的 spec.allowedNamespaces 授權,再由租戶管理子層級資源;佇列提供 capability、deserved、guarantee 與 reclaimable 等治理設定。功能預設停用,啟用時需搭配 hierarchical capacity,不能同時使用 proportion。

fairshare 外掛借鑑 Slurm 的歷史資源使用公平性,以 namespace 為租戶識別,累積各種資源的使用秒數,並採指數衰減,預設半衰期為四小時。歷史使用較少的租戶可在待排工作排序上獲得較高考量,但不會搶占正在執行的工作。管理者可設定目標 Queue、資源種類與是否持久化狀態,持久化與 enqueue gate 預設都關閉。

新版的 Unschedulable Job Cache 記錄無法排程的原因,只有在相關資源、標籤或 Queue 狀態改變時才重試,以減少大型待排佇列的重複檢查。快取預設停用,watchdog 的最大跳過時間預設五分鐘,排程器重新啟動後記憶體快取會清除。若外掛無法提供安全的事件提示,相關工作仍照常檢查。

拓樸方面,PodGroup 可透過 group-topology-affinity 設定 required 或 preferred 反親和規則,將不同推論副本分散到不同 supernode;但限制只在 allocate 階段強制,backfill 放置的 BestEffort Pod 不享有相同保證。HyperNode 控制器可獨立部署,讓其他排程器透過 HyperNode API 使用拓樸資訊;遷移時應先切至 disabled 模式,避免兩個控制器同時協調。

其他更新包括 DRA 評分、批次 Pod 派送負載估計、NUMA 資源統計、Grove 與 KubeRay 多層 Gang Scheduling,以及 Kubernetes 1.36 支援。升級須留意 CRD 與 RBAC、特性開關、外掛順序及自訂拓樸外掛重建;原文並指出原始碼建置需要 Go 1.26,新增 NamespaceQueue CRD 的 Helm 保留註記與既有 CRD 不同。

發生了什麼事

Volcano 1.16 正式推出,帶來租戶命名空間佇列、歷史使用量公平排程、排程快取與跨 supernode 的拓樸隔離能力。

為什麼重要

多租戶 GPU 叢集需要兼顧配額、公平與拓樸容錯;新版改善資源治理,但多項功能預設關閉,部署前必須檢查排程器設定與升級相容性。

影響哪些人

使用 Volcano 執行 AI 訓練、推論與批次運算的 Kubernetes 平台團隊、叢集維運者及自訂排程器開發者,會直接受到這些變更影響。

已確認與未確認

已確認 v1.16.0 與主要功能、預設開關及限制;實際效能增益取決於工作負載,原文沒有承諾所有叢集都能達到相同改善幅度。