為保證服務擴容時,不受專屬資源群組機器資源的限制,EAS提供了彈性資源集區的能力。即部署在專屬資源群組中的服務,在擴容時遇到機器資源不足時,新擴出來的執行個體會自動啟動在隨用隨付的公用資源上,並以公用資源群組的方式來進行計費;在縮容時會優先縮掉公用資源群組中的服務執行個體。
前提條件
已建立專屬資源群組,詳情請參見使用專屬資源群組。
背景資訊
在EAS的專屬資源群組中,您可以通過預付費訂用帳戶和後付費隨用隨付的方式來購買機器節點。一方面可以保證持久持有一定量的保底資源,避免業務臨時擴容資源時因庫存不足(特別是GPU資源)導致業務受損;另一方面,在專屬資源群組中可以用更低的價格購買預付費的資源,您可以用更低的成本來持有保底資源。
而在實際應用中,使用者通常希望服務資源能更彈性。即在業務高峰時段,能夠更方便的使用更多的後付費資源;而在業務低峰時段,又能自動進行縮容。配合EAS提供的水平自動擴縮容的能力,服務可做到執行個體維度自動調整。但在專屬資源群組中,機器節點資源有限的情況下,執行個體的伸縮會受到資源群組中機器資源的限制,而動態擴縮資源群組中的機器節點數量效率太低且使用不便。因此,EAS提供了專屬資源群組服務資源自動調整的功能。
功能優勢
該功能非常適合配合水平自動擴縮容功能來使用,服務開啟根據QPS或CPU等指標的波動自動調整的功能後,開啟服務資源自動調整功能可保證資源不受專屬資源群組的限制。相當於更方便的在一個服務中組合使用隨用隨付和預付費資源,可以大幅降低服務的整體資源成本。
配置方法
服務部署時開啟資源自動調整
通過控制台開啟資源自動調整
通過本地用戶端開啟資源自動調整
使用eascmd用戶端部署服務時,開啟資源自動調整功能。以Windows 64版本為例,具體操作步驟如下:
配置JSON檔案。
重要公用資源群組和專屬資源群組中的服務,在資源配置和網路設定上有稍許不同。在公用資源群組中可以通過配置執行個體類型來為服務申請資源(即通過cloud.computing欄位配置);公用資源群組的網路直連是配置在服務中的(即通過cloud.networking欄位配置),而專屬資源群組的網路直連是配置在資源群組層級的。因此,如果要保證網路直連功能在資源自動調整過程中同樣可用,則在部署服務時,需要增加相關的網路設定項。
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****" } } }
其中:
resource_burstable:配置為true時,表示開啟資源自動調整功能。
cloud.networking:在專屬資源群組中部署服務時,該參數不生效。為保證網路直連功能在資源伸縮過程中同樣可用,需要配置該參數。
cloud.computing:可選,如果您希望擴容到公用資源的執行個體使用機器執行個體資源,則需要在JSON檔案中配置該參數,詳情請參見使用公用資源群組。
其他參數配置說明,詳情請參見服務模型所有相關參數說明。
使用eascmd用戶端部署模型服務,詳情請參見服務部署:EASCMD或DSW。
該服務部署在專屬資源群組中,當服務擴容時,如果專屬資源群組中機器資源不足,會自動將執行個體擴容到公用資源群組中。
服務部署後,開啟或關閉資源自動調整
通過控制台開啟或關閉資源自動調整
進入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(等待中)的執行個體不會自動遷移至公用資源群組上。您可以在控制台上重啟該執行個體,執行個體重啟後會調度到公用資源中。同理,已經開啟了自動調整的服務,調度到公用資源中的服務執行個體,在關閉了資源自動調整功能後,也不會自動調度回專屬資源中。