在部署服務時,只指定單一規格的計算資源,會出現由於該規格庫存不足導致服務長時間無法拉起的情況。針對該問題,EAS部署環節支援多規格執行個體選擇,通過遍曆設定檔中提供的規格列表來拉起資源,從而極大降低單一規格庫存不足帶來的部署風險。本文為您介紹多規格執行個體配置方法。
前提條件
如果您使用本地用戶端方式配置多規格執行個體,則需要完成以下操作:
已下載EASCMD用戶端並認證成功,具體操作,請參見下載並認證用戶端。
使用限制
僅支援部署在公用資源群組上的EAS服務配置多規格執行個體。
部署服務時使用多規格執行個體
通過控制台配置多規格執行個體
進入建立服務頁面,詳情請參見服務部署:控制台。
在建立服務頁面,配置以下關鍵參數,其他參數配置詳情,請參見服務部署:控制台。
參數
描述
資源群組種類
選擇公用資源群組。
資源配置方法
選擇性價比資源配置。
搶佔型保留時間長度
僅資源類型選擇搶佔型時,該配置生效。支援以下兩種配置方式:
設定執行個體使用1小時:您可以為搶佔型執行個體設定1小時保護期,即執行個體搶佔成功後,預設至少可以使用1小時。
無確定保護期:表示禁用保護期。不保證有固定時間長度的保護期來保障資源的使用。
關於搶佔型執行個體的詳細介紹,請參見進階配置:搶佔型執行個體選擇。
部署資源
資源類型:支援搶佔型和常規型。
機器型號:選擇合適的機器型號。
出價:僅搶佔型資源需要設定出價,系統根據出價來自動競價搶佔資源。
如果搶佔式資源執行個體庫存充足,且出價不低於當前搶佔式執行個體市場價,可以使用搶佔式執行個體。
配置多規格執行個體:
您可以單擊來配置多規格執行個體,最多支援添加5個資源類型。系統會按照配置規格的先後順序作為優先順序排序來拉起資源。
單擊部署。待服務狀態變為運行中時,表明服務部署成功。
通過本地用戶端配置多規格執行個體
以Windows 64版本為例:
在用戶端檔案所在目錄建立JSON格式的檔案,命名為
service.json
,檔案內容樣本如下。{ "name": "service_example", "model_path": "http://examplebucket.aliyuncs.com/models%2Fmnist_saved_model.tar.gz", "processor": "tensorflow_cpu_1.12", "metadata": { "instance": 1, } "cloud": { "computing": { "instances": [ {"type": "ecs.g7.2xlarge", "spot_price_limit": 2.00}, {"type": "ecs.g7.4xlarge", "spot_price_limit": 4.00}, {"type": "ecs.g7.2xlarge"}, {"type": "ecs.g7.4xlarge"} ], "disable_spot_protection_period": true } } }
其中關鍵參數說明如下。其他參數說明,詳情請參見命令使用說明。
參數
描述
instance
服務啟動的執行個體數量。上述JSON檔案中表示啟動1個執行個體。
instances
表示允許的執行個體規格,支援配置多個。當執行個體規格競價失敗或庫存不足時,按照配置順序依次嘗試使用下一個執行個體規格建立服務。
type:表示配置的執行個體規格。
spot_price_limit為選擇性參數:
當配置該參數時:表示對應執行個體規格使用搶佔式資源執行個體,並指明價格上限。單位為USD,支援隨用隨付。
當不配置該參數時:表示對應執行個體規格為普通的隨用隨付執行個體。
disable_spot_protection_period
支援以下取值:
false(預設值):表示在搶佔式資源執行個體建立成功後,預設有1小時保護期。在保護期內即使市場價格超過了出價,執行個體也不會被釋放。
true:表示禁用保護期,無保護期執行個體會始終比有保護期執行個體優惠10%左右。
開啟終端工具,在JSON檔案所在目錄,使用以下命令建立服務。
eascmdwin64.exe create <service.json>
其中:<service.json>需要替換為您建立的JSON檔案名稱。
部署服務後修改服務使用多規格執行個體
通過控制台修改服務使用多規格執行個體
進入模型線上服務(EAS)頁面。
登入PAI控制台。
在左側導覽列單擊工作空間列表,在工作空間列表頁面中單擊待操作的工作空間名稱,進入對應的工作空間。
在工作空間頁面的左側導覽列選擇 ,進入模型線上服務(EAS)頁面。
選擇部署在公用資源群組的服務,單擊服務名稱,進入服務詳情頁面。
在服務詳情頁面,單擊資源資訊地區的資源配置。
在資源配置對話方塊性價比資源配置頁簽,配置部署資源為多個資源類型,更多參數配置詳情,請參見通過控制台配置多規格執行個體。
單擊確定。
通過本地用戶端修改服務使用多規格執行個體
以Windows 64版本為例:
在用戶端檔案所在目錄建立JSON格式的檔案,命名為
instances.json
,檔案內容樣本如下。{ "cloud": { "computing": { "instances": [ {"type": "ecs.g7.2xlarge", "spot_price_limit": 2.00}, {"type": "ecs.g7.4xlarge", "spot_price_limit": 4.00}, {"type": "ecs.g7.2xlarge"}, {"type": "ecs.g7.4xlarge"} ], "disable_spot_protection_period": true } } }
其中關鍵參數說明,詳情請參見部署服務時使用搶佔式執行個體。
使用以下命令修改服務使用多規格執行個體。
eascmd modify <service_name> -s instances.json
其中:<service_name>需要替換為EAS服務名稱。