彈性資源集區是 EAS 提供的一種服務等級混合資源調度策略。它允許部署在專屬資源群組的服務,在因業務高峰觸發擴容且專屬資源不足時,自動將新增的副本“溢出”到隨用隨付的公用資源群組中,從而保障服務的Auto Scaling能力。
功能優勢
-
突破資源群組容量限制:當專屬資源群組內資源不足時,服務擴容可自動使用公用資源集區中的按量執行個體,確保水平自動擴縮容(基於 QPS、CPU 等指標)不受專屬資源群組物理節點數量限制。
-
最佳化成本:通過預留低成本預付費資源滿足基準負載,僅在峰值時按需使用按量資源,避免為峰值負載長期持有冗餘專屬資源,從而降低整體資源成本。
工作原理
彈性資源集區的調度邏輯遵循明確的優先順序順序,以實現成本和穩定性的平衡。
-
擴容
-
當服務觸發擴容時,EAS 調度器首先嘗試在服務所在的專屬資源群組內建立新執行個體。
-
如果專屬資源群組因資源不足(如無可用節點,或節點剩餘 CPU/記憶體/GPU 無法滿足執行個體要求)而無法建立執行個體,調度器將使用您在配置彈性資源集區時指定的資源規格(執行個體類型)在公用資源群組中建立新執行個體。
-
-
縮容
-
當服務觸發縮容時,系統會優先選擇並終止位於公用資源群組中的執行個體。
-
只有當公用資源群組中的所有彈性執行個體都被縮容後,系統才會開始縮容專屬資源群組中的執行個體。這確保了成本較高的彈性資源被優先釋放,同時保留了更穩定的保底執行個體。
-
前提條件
已建立專屬資源群組,詳情請參見使用EAS資源群組。
配置方法
服務部署時開啟彈性資源集區
控制台配置
JSON配置
開啟彈性資源集區的關鍵參數如下,其他參數請參見JSON部署。
-
resource_burstable:配置為true時,表示開啟彈性資源集區。
-
cloud.networking:開啟彈性資源集區時,為保證Auto Scaling過程中的網路可用性,請通過該欄位佈建服務的專用網路。
重要使用專屬資源群組時可在資源群組層級配置專用網路,但專屬資源群組僅可在服務等級(通過cloud.networking欄位)配置。
-
cloud.computing:擴容到公用資源的執行個體可使用的機器規格,詳情請參見使用公用資源。
JSON檔案配置樣本如下。
{
"model_path": "http://examplebucket.oss-cn-shanghai.aliyuncs.com/models/lr.pmml",
"name": "test_burstable_service",
"processor": "pmml",
"metadata": {
"instance": 1,
"cpu": 1,
"resource": "eas-r-xxx",
"resource_burstable": true
},
"cloud": {
"computing": {
"instance_type": "ecs.r7.2xlarge"
},
"networking": {
"security_group_id": "sg-uf68iou5an8j7sxd****",
"vswitch_id": "vsw-uf6nji7pzztuoe9i7****"
}
}
}
服務部署後開啟或關閉彈性資源集區
通過控制台
登入PAI控制台,在頁面上方選擇目標地區,並在右側選擇目標工作空間,然後單擊進入EAS。
-
單擊已部署服務操作列下的更新。
-
在更新服务頁面的资源信息地區開啟或關閉資源自動調整功能。
-
開啟資源自動調整
在资源信息地區,開啟弹性资源池開關,並配置公用資源群組資源規格。
-
關閉資源自動調整
在资源信息地區,關閉弹性资源池開關。
-
-
單擊更新。
通過本地用戶端
您可以使用以下命令,為已部署的服務快速開啟或關閉自動調整功能。以Windows 64版本為例:
如果在專屬資源群組中部署服務時未配置cloud.networking參數,則開啟自動調整功能後,擴容到公用資源群組的執行個體不支援網路直連功能。
# 開啟服務資源自動Auto Scaling。
eascmdwin64.exe modify <service_name> -Dmetadata.resource_burstable=true
# 關閉服務資源自動Auto Scaling。
eascmdwin64.exe modify <service_name> -Dmetadata.resource_burstable=false
其中:<service_name>:需要替換為已部署的服務名稱。
服務資源自動調整功能的開啟和關閉只會影響新建立的服務執行個體,老執行個體不會自動做遷移。例如:一個服務擴容完成後有2個執行個體為pending(等待中)狀態,在開啟了資源自動調整功能後,這2個pending(等待中)的執行個體不會自動遷移至公用資源群組上。您可以在控制台上重啟該執行個體,執行個體重啟後會調度到公用資源中。同理,已經開啟了自動調整的服務,調度到公用資源中的服務執行個體,在關閉了資源自動調整功能後,也不會自動調度回專屬資源中。