在部署服务时,只指定单一规格的计算资源,会出现由于该规格库存不足导致服务长时间无法拉起的情况。针对该问题,EAS部署环节支持多规格实例选择,通过遍历配置文件中提供的规格列表来拉起资源,从而极大降低单一规格库存不足带来的部署风险。本文为您介绍多规格实例配置方法。
前提条件
如果您使用本地客户端方式配置多规格实例,则需要完成以下操作:
已下载EASCMD客户端并认证成功,具体操作,请参见下载并认证客户端。
使用限制
仅支持部署在公共资源组上的EAS服务配置多规格实例。
如何使用多规格实例
您可以在新建服务时配置多规格实例,也可以对已有的服务直接更新来实现多规格实例的配置。
以下面的资源配置目标为例来介绍如何通过控制台和本地客户端实现多规格实例的配置。
资源类型 | 机器型号 | 实例规格 | 出价 |
竞价资源 | 8vcpu+16GB | ecs.c8i.2xlarge | 1 |
常规型资源 | 4vcpu+8GB | ecs.c8i.xlarge | 不需要 |
通过控制台配置多规格实例
登录PAI控制台,在页面上方选择目标地域,并在右侧选择目标工作空间,然后单击进入EAS。
新建服务:在推理服务页签,单击部署服务,选择自定义模型部署> 自定义部署。
更新服务:在推理服务页签的服务列表中找到要操作的服务,操作列单击更新。
在资源部署区域,配置以下关键参数,其他参数配置详情,请参见服务部署:控制台。
参数
描述
资源类型
选择公共资源。
部署资源
资源规格:选择资源规格。
竞价:打开开关,表示使用竞价资源;开关关闭,表示使用常规型资源。
出价:仅竞价实例需要设置出价,系统根据出价来自动竞价抢占资源。
如果竞价实例库存充足,且出价不低于当前竞价实例市场价,可以使用竞价实例。
配置多规格实例:
单击添加按钮来配置多规格实例,最多支持添加10个资源类型。系统会按照配置规格的先后顺序作为优先级排序来拉起资源。
竞价型保留时长
当打开竞价开关时,支持配置该参数。支持以下两种配置方式:
设定实例使用1小时:您可以为竞价实例设置1小时保护期,即实例抢占成功后,默认至少可以使用1小时。
无确定保护期:表示禁用保护期。不保证有固定时长的保护期来保障资源的使用。
关于竞价实例的详细介绍,请参见竞价实例选择。
单击部署/更新。待服务状态变为运行中时,表明服务部署成功。
通过本地客户端配置多规格实例
准备JSON格式的文件,命名为
service.json
,文件内容示例如下。{ "name": "service_name", "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.c8i.2xlarge", "spot_price_limit": 1 }, { "type": "ecs.c8i.xlarge" } ], "disable_spot_protection_period": false } } }
其中关键参数说明如下。其他参数说明,详情请参见命令使用说明。
参数
描述
instance
服务启动的实例数量。上述JSON文件中表示启动1个实例。
instances
表示允许的实例规格,支持配置多个。当实例规格竞价失败或库存不足时,按照配置顺序依次尝试使用下一个实例规格创建服务。
type:表示配置的实例规格。
spot_price_limit为可选参数:
当配置该参数时:表示对应实例规格使用竞价实例,并指明价格上限。单位为USD,支持按量付费。
当不配置该参数时:表示对应实例规格为普通的按量付费实例。
disable_spot_protection_period
支持以下取值:
false(默认值):表示在竞价实例创建成功后,默认有1小时保护期。在保护期内即使市场价格超过了出价,实例也不会被释放。
true:表示禁用保护期,无保护期实例会始终比有保护期实例优惠10%左右。
打开终端工具,在JSON文件所在目录,执行以下命令。更多操作说明,请参见命令使用说明。
以Windows 64版本为例:
新建服务
eascmdwin64.exe create <service.json>
其中:<service.json>需要替换为您创建的JSON文件名称。
更新服务
eascmdwin64.exe modify <service_name> -s <service.json>
其中:
<service_name>需要替换为要更新的EAS服务名称。
<service.json>需要替换为您创建的JSON文件名称。