Milvus 叢集在業務高峰期(如白天寫入高峰)可能出現 Data Node、Index Node CPU 和記憶體水位過高,導致索引構建速度慢、Compaction 延遲,甚至發生 OOM 導致節點重啟。而在夜間或非峰值時段,這些節點資源使用率低,造成計算資源閑置浪費。
按時間規則Auto Scaling功能支援您對 Data Node、Index Node 配置多條按時間規則的Auto Scaling計劃,在指定時間自動擴縮容相應節點,從而減輕人工調節負擔,最佳化資源成本。
使用限制
-
不支援基於負載或指標(如 CPU、QPS 等)的自動Auto Scaling。
-
單一實例僅支援一個執行時區,不做跨時區轉換。
-
單節點類型最多支援 10 條規則。
-
雙可用性區域高可用執行個體在調整節點數量時,步長為 2。
-
Auto Scaling期間執行個體會短暫進入彈性擴容或彈性縮容狀態,此期間無法對執行個體執行其他變更配置操作。
-
擴容說明:擴容過程通常僅需幾分鐘,主要涉及新增節點的分配和初始化。擴容完成後,執行個體會自動進行資料重新平衡,通常需要幾分鐘不等。
-
縮容說明:縮容操作會先觸發資料移轉(Decommission),確保被移除節點上的資料安全遷移到剩餘節點後,再釋放節點資源。資料移轉時間受叢集負載影響。優雅下線逾時時間預設為 1 小時,若在逾時時間內資料移轉未完成,系統將強制完成縮容。
版本與規格限制
-
Auto Scaling僅適用於标准版執行個體,入門版不支援。
-
執行個體引擎版本滿足以下要求:
|
引擎版本 |
最低版本要求 |
|
2.6 |
所有 2.6 版本均支援 |
|
2.5 |
2.5.12-0.6.2_3.8.0 及以上 |
|
2.4 |
2.4.23-0.4.3_3.8.0 及以上 |
低於此版本的可以通過版本升級後開啟使用Auto Scaling。
-
支援Auto Scaling的組件
Milvus 不同版本支援Auto Scaling的組件如下:
|
組件 |
2.4 |
2.5 |
2.6 |
|
Data Node |
支援 |
支援 |
支援 |
|
Index Node |
支援 |
支援 |
— |
|
Streaming Node |
— |
— |
不支援 |
|
Proxy |
不支援 |
不支援 |
不支援 |
|
Query Node |
不支援 |
不支援 |
不支援 |
|
中繼資料服務 |
不支援 |
不支援 |
不支援 |
計費說明
-
訂用帳戶執行個體:執行個體總資源量 = 基礎資源量 + 彈性資源量。其中基礎資源量(訂用帳戶)不參與Auto Scaling;彈性資源量採用隨用隨付,需先手動開啟按量資源群組。
-
隨用隨付執行個體:預設開啟按量資源群組,不區分基礎資源與彈性資源,所有資源均可視為按量資源群組內資源。
前提條件
-
執行個體狀態為运行中。
-
訂用帳戶執行個體已開啟按量資源群組。
-
當前帳號具備執行個體變更配置許可權。
步驟一:進入Auto Scaling頁面
-
在左側導覽列,單擊Milvus執行個體。
-
在頂部功能表列,選擇目標地區。
-
在執行個體列表中,單擊目標執行個體名稱。
-
在執行個體詳情頁,單擊弹性伸缩頁簽。
若弹性伸缩頁簽不展示,那就是當前執行個體版本不支援按時間規則Auto Scaling。
步驟二:(可選)開啟按量資源群組
如果您使用的是隨用隨付執行個體,請跳過本步驟。
訂用帳戶執行個體需先開通按量資源群組,才能配置Auto Scaling規則。
-
在Auto Scaling頁面,查看按量資源群組狀態。
-
若未開通,根據頁面提示开通按量资源组。
-
開通後,您可以手動對按量資源群組進行擴容或縮容:
-
擴容:按量資源群組節點數上限為 50 個,雙可用性區域高可用執行個體步長為 2。擴容期間,不可進行其他縮容、升配、降配、修改配置、升級等操作。按量資源群組的節點規格與基礎資源的節點規格一致,不支援修改。
-
縮容:按量資源群組節點數下限為 0,雙可用性區域高可用執行個體步長為 2。縮容期間,不可進行其他擴容、升配、降配、修改配置、升級等操作。
-
步驟三:建立Auto Scaling規則
-
在Auto Scaling頁面,單擊建立規則。
-
在彈出的建立規則對話方塊中,配置以下參數。
參數
描述
规则名称
必填。長度為 1~64 個字元,不支援特殊字元。同一執行個體內規則名稱不允許重複。
执行间隔
必填。
規則執行的時間間隔,選擇每天,在指定時間點每天執行一次。
選擇具體的執行時間,24 小時制,精確到分鐘。
也可以選擇使用 Cron 表达式,通過標準 5 位 Cron 運算式自訂執行計畫,適用於更靈活的調度情境。
节点配置
配置定時伸縮觸發時的目標節點資訊:
-
节点类型:單選,必選。選擇需要伸縮的組件類型(如 Data Node、Index Node 等)。
-
节点规格:彈性節點的規格。
-
彈性資源量(節點數):規則生效時,選定節點的按量資源量將被調整到此目標值。
-
訂用帳戶執行個體:下限為 0,上限為 50。
-
隨用隨付執行個體:下限為節點數最小值(Data Node:1,Index Node:1),上限為 50。
雙可用性區域高可用執行個體的節點增減步長為 2。
說明-
若當前執行個體的單節點Auto Scaling規則數量已達上限(10 條),將禁止建立,請刪除部分規則後再建立。
-
同一節點類型在不允許在同一時間配置規則。
-
-
單擊確定,完成規則建立。
規則建立成功後,將在規則列表中展示。
規則配置樣本
樣本一:工作時間擴容
每天上午 9 點自動擴容 Data Node,以應對日間資料寫入高峰:
|
參數 |
配置值 |
|
規則名稱 |
day-scale-out |
|
執行間隔 |
每天 |
|
執行時間 |
09:00 |
|
節點類型 |
Data |
|
彈性資源量 |
2 |
樣本二:夜間縮容
在每天晚上 22 點自動縮容 Data Node,釋放非高峰時段的資源:
|
參數 |
配置值 |
|
規則名稱 |
night-scale-in |
|
執行間隔 |
每天 |
|
執行時間 |
22:00 |
|
節點類型 |
Data |
|
彈性資源量 |
0 |
管理Auto Scaling規則
在Auto Scaling頁面的規則列表中,您可以查看、編輯、停用、啟用或刪除Auto Scaling規則。
查看規則列表
規則列表展示以下欄位:
-
規則 ID / 規則名稱
-
節點類型(Data Node / Index Node)
-
目標資源量(節點數)
-
執行循環(每天 執行時間點)
-
操作
編輯彈性規則
-
在Auto Scaling Tab 頁面,找到目標規則。
-
單擊規則操作列的修改。
-
修改規則參數後,單擊確定。
-
節點類型不可修改,其餘欄位均可調整。
-
若規則當前處於執行中狀態,不允許編輯。
刪除彈性規則
-
在Auto Scaling Tab 頁面,找到目標規則。
-
單擊規則操作列的删除。
-
在彈出的確認對話方塊中,單擊確定。
-
刪除規則後,該規則將不再觸發Auto Scaling活動,已經執行的Auto Scaling不受影響。
-
若規則當前處於執行中狀態,不允許刪除。
啟用 / 停用彈性規則
您可以通過切換規則的啟用 / 停用狀態來控制規則是否生效,而無需刪除規則。
-
在Auto Scaling Tab 頁面,找到目標規則。
-
單擊規則操作列的启用或停用。
-
禁用規則後,該規則將不再觸發Auto Scaling活動,已經執行的Auto Scaling不受影響。
-
若規則當前處於執行中狀態,不允許修改。
修改時區
-
在Auto Scaling Tab 頁面,單擊切换时区。
-
選擇對應的時區,單擊確定。
只有執行個體下沒有規則的情況下可以修改時區。
Auto Scaling概覽
在Auto Scaling Tab 頁面的Auto Scaling概覽地區,可以查看歷史Auto Scaling記錄:
|
欄位 |
描述 |
|
規則名稱 |
觸發本次伸縮活動的規則名稱 |
|
組件類型 |
本次伸縮涉及的組件 |
|
狀態 |
伸縮活動的執行狀態,包括:待執行、執行中、成功、失敗、已拒絕、已取消 |
|
開始時間 |
伸縮活動的開始時間 |
|
結束時間 |
伸縮活動的結束時間 |
|
描述 |
伸縮活動的詳細描述資訊 |
常見問題
Auto Scaling會影響正在啟動並執行查詢和寫入嗎?
Auto Scaling過程設計為平滑操作,不會中斷正在啟動並執行查詢和寫入鏈路,確保商務持續性。
縮容時資料安全嗎?
縮容操作採用優雅下線(Decommission)機制,系統會先將被移除節點上的資料安全遷移到剩餘節點,待資料移轉完成並確認無資料丟失後,才會釋放節點資源。優雅下線逾時時間預設為 1 小時,若逾時未完成,系統將強制完成縮容。
為什麼我的執行個體不支援Auto Scaling?
請檢查以下條件:
-
執行個體規格需要為標準版,入門版不支援Auto Scaling。
-
引擎版本需要滿足最低版本要求(2.4 需 >= 2.4.23-0.4.3_3.8.0,2.5 需 >= 2.5.12-0.6.2_3.8.0,2.6 所有版本均支援)。
-
執行個體需處於運行中狀態。
彈性擴出的節點如何計費?
彈性擴出的節點採用隨用隨付方式,按實際使用時間長度計費。當彈性縮容釋放節點後,即停止計費。
Auto Scaling規則最多可以配置多少條?
每個組件最多可配置 10 條伸縮規則。