手动服务扩缩容 - UpdateV2DeploymentScale
功能介绍
该接口适用于模型服务实例扩缩容。通过调用此接口,用户可以在原有服务的情况下,对服务进行扩缩容,且不会增加新的版本;包括权限验证错误、服务状态错误和参数验证错误。
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权,具体权限要求请参见权限和授权项。
- 如果使用身份策略授权,需具备如下身份策略权限。
授权项
访问级别
资源类型(*为必须)
条件键
别名
依赖的授权项
modelarts:service:scaleDeployment
Read
service *
-
-
-
URI
PUT /v2/{project_id}/services/{service_id}/deployments/{deployment_name}/scale
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| X-Auth-Token | 是 | String | 参数解释: 用户Token。通过调用IAM服务获取用户Token接口获取响应消息头中X-Subject-Token的值。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| Content-Type | 是 | String | 参数解释: 消息体的类型(格式) 约束限制: 不涉及。 取值范围: 默认取值: 不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| count | 是 | Integer | 参数解释: 服务实例数。 取值范围: [1, 128]。 |
响应参数
状态码:200
| 参数 | 参数类型 | 描述 |
|---|---|---|
| id | String | 参数解释: 部署ID,在创建部署时即可在返回体中获取,也可通过查询服务部署列表获取当前用户拥有的部署,其中deployment_id字段即为部署ID。 约束限制: 不涉及。 取值范围: 部署ID。 默认取值: 不涉及。 |
| name | String | 参数解释: 服务部署名字 |
| infer_name | String | 参数解释: 部署id(废弃字段)。 取值范围: 不涉及。 |
| create_at | String | 参数解释: 创建时间,根据创建时的当前时间自动生成。 取值范围: 毫秒级时间戳,13位数字 |
| description | String | 参数解释: 描述 取值范围: 不涉及。 |
| pool_id | String | 参数解释: 专属资源池ID。 取值范围: 不涉及。 |
| framework | String | 参数解释: 算法框架。 取值范围: |
| priority | String | 参数解释: 服务优先级。 约束限制: 不涉及。 取值范围: [1, 3]。 默认取值: 不涉及。 |
| secret_type | String | 参数解释: 凭证类型相关配置,用户可以在此处选择使用的凭证类型(dew,agency) 约束限制: 不涉及。 取值范围: 默认取值: 不涉及。 |
| status | String | 参数解释: 服务部署状态 |
| count | Integer | 参数解释: 服务实例数 |
| high_avail_switch | String | 参数解释: 高可用开关,开启后不同实例的pod将尽量均匀分布到不同的节点上。 约束限制: 不涉及 取值范围: 不涉及 默认取值: true |
| system_log_dump_enable | String | 参数解释: 系统日志转储开关。 约束限制: 只有NPU资源池有,且逻辑池是没有的 取值范围: 不涉及 默认取值: false |
| unit_configs | Array of UnitConfig objects | 参数解释: 实例单元配置。 约束限制: 单机推理时,个数只会为1;如果是分布式推理时,根据不同框架,实例单元配置可灵活配置。 |
| update_at | String | 参数解释: 更新时间,根据更新时的当前时间自动生成。 取值范围: 毫秒级时间戳,13位数字。 |
| version | String | 参数解释: 当前服务版本信息。 |
| version_count | Integer | 参数解释: 服务版本数量。 取值范围: 不涉及。 |
| weight | Integer | 参数解释: 权重百分比,分配到此模型的流量权重,仅当模型部署为在线服务时需要配置。 约束限制: 不涉及。 取值范围: [0, 100]。 默认取值: 不涉及。 |
| advanced_config | AdvancedConfig object | 参数解释: 高级配置,服务部署时的配置。 |
| job_id | String | 参数解释: 巫山工作流ID。 取值范围: 不涉及。 |
| deployment_name | String | 参数解释: 服务部署名字。 |
| frozen_infos | Array of FrozenInfo objects | 参数解释: 当服务或者部署被冻结时返回的冻结类型信息。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| id | String | 参数解释: 实例单元ID。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| name | String | 参数解释: 实例单元角色名称。 约束限制: 最大长度为16字符,且需满足正则:^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ 默认取值: 不涉及。 |
| role | String | 参数解释: 实例单元角色。 约束限制: 不涉及。 取值范围: mindIe场景下: vllm场景下: 默认取值: 不涉及。 |
| custom_spec | CustomSpec object | 参数解释: 自定义资源规格配置。 约束限制: 不涉及。 |
| flavor | String | 参数解释: 资源规格,根据所提供版本选择适合业务的规格。当specification为custom为自定义规格。由custom_spec指定部署的规格配置。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| image | Image object | 参数解释: 镜像配置信息,包含镜像地址,镜像来源。 约束限制: 不涉及。 |
| models | Array of Model objects | 参数解释: 废弃参数,推荐使用files替代使用 模型相关配置,用户可以在此处选择模型及权重文件配合镜像使用。 约束限制: 不涉及。 |
| codes | Array of Code objects | 参数解释: 废弃参数,推荐使用files替代使用 代码相关配置,用户可以在此处选择代码所在的obs路径等。 约束限制: 不涉及。 |
| files | Array of File objects | 参数解释: 模型和代码相关配置,用户可以在此处选择模型、权重文件以及代码所在的obs路径等配合镜像使用。 约束限制: 不涉及。 |
| count | Integer | 参数解释: 配置实例个数,单机推理无需配置。 约束限制: 不填保留原有值。 取值范围: 不涉及。 默认取值: 不涉及。 |
| group_count | Integer | 参数解释: 单元副本数,当部署类型deploy_type为SINGLE时,该参数无效。 约束限制: 不填不会保留原有值。 取值范围: 最小为1,最大为100。 默认取值: 默认值为1。 |
| cmd | String | 参数解释: 启动命令。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| envs | Map<String,String> | 参数解释: 环境变量。 约束限制: 变量键长度不大于64,由字母、数字、下划线、中划线、点组成,不能以数字开头。值的输入内容不能存在HTML格式,如:<9>、<^>、<...>。 |
| readiness_health | Health object | 参数解释: 就绪健康检查。 约束限制: 不涉及。 |
| startup_health | Health object | 参数解释: 启动健康检查。 约束限制: 不涉及。 |
| liveness_health | Health object | 参数解释: 存活健康检查。 取值范围: 不涉及。 |
| port | Integer | 参数解释: 端口。 约束限制: 不涉及。 取值范围: [1,65535]。 默认取值: 不涉及。 |
| recovery | String | 参数解释: 自动重建策略,开启后,由于部署配置变更或者故障等原因导致Pod重启时,平台将按策略自动执行重建。若不开启,平台将不会主动干预处理。 取值范围: 默认取值: 不涉及。 |
| npu_reset_enable | Boolean | 参数解释: 是否开启恢复策略。 约束限制: 不涉及。 取值范围: 默认取值: 不涉及。 |
| affinity | Affinity object | 参数解释: 节点亲和调度设置。 约束限制: 不涉及。 |
| security_config | SecurityConfig object | 参数解释: 设置容器用户ID、用户组ID。 |
| dumps | Array of Dump objects | 参数解释: 产物转储相关配置,用户可以在此处配置产物转储的目的和容器挂载路径。 约束限制: 不涉及。 |
| group_policy | UnitGroupPolicy object | 参数解释: 单副本资源实例调度约束配置。 约束限制: 不涉及。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| gpu | Number | 参数解释: GPU个数。 约束限制: 不涉及。 取值范围: 支持配置小数,输入值不能小于0(最多支持2位小数,小数点后第3位做四舍五入处理)。 默认取值: 不涉及。 |
| memory | Integer | 参数解释: 内存,单位为MB。 约束限制: 不涉及。 取值范围: 仅支持整数。 默认取值: 不涉及。 |
| cpu | Number | 参数解释: CPU核数。 约束限制: 不涉及。 取值范围: 支持配置小数,输入值不能小于0.01(最多支持2位小数,小数点后第3位做四舍五入处理)。 默认取值: 不涉及。 |
| ascend | Integer | 参数解释: Ascend芯片个数。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| id | String | 参数解释: 镜像id。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| source | String | 参数解释: 镜像类别,标识镜像来源。 约束限制: 不涉及。 取值范围: 默认取值: 不涉及。 |
| swr_path | String | 参数解释: 镜像地址,source不同取值时,地址为不同值。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| category | String | 参数解释: 镜像支持的规格。 约束限制: 不涉及。 取值范围: 默认取值: CPU。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| source | String | 参数解释: 代码来源类别。 约束限制: 不涉及。 取值范围: 如下参数不区分大小写 默认取值: 不涉及。 |
| address | String | 参数解释: 代码来源地址,格式遵循不同存储系统。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| mount_path | String | 参数解释: 挂载到容器内的路径,要求以/开头,后面可包含中划线,反斜杠,下划线,点号,字母,数字。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| host_cache | Boolean | 参数解释: 是否支持模型本地缓存,默认是不支持。 约束限制: 不涉及。 取值范围: 默认取值: false。 |
| efs_sub_path | String | 参数解释: 当存储类别为EFS时,支持配置子目录。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| read_only | Boolean | 参数解释: 挂载权限设置,是否只读。 约束限制: 不涉及。 取值范围: 默认取值: 不涉及。 |
| os_warm_up | Boolean | 参数解释: os预热。 约束限制: 不涉及。 取值范围: 默认取值: 不涉及。 |
| source_name | String | 参数解释: 预热名称。 约束限制: os_warm_up为true时必填。 取值范围: 支持1-64位字符,可包含字母、中文、数字、中划线、下划线。 默认取值: 不涉及。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| source | String | 参数解释: 代码来源类别。 约束限制: 不涉及。 取值范围: 默认取值: 不涉及。 |
| address | String | 参数解释: 代码来源地址,格式遵循不同存储系统。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| source_id | String | 参数解释: 代码来源id,与address二选一,当且仅当source为EFS时,可以传入sfs turbo的id。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| mount_path | String | 参数解释: 挂载到容器内的路径,要求以/开头,后面可包含中划线,反斜杠,下划线,点号,字母,数字。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| efs_sub_path | String | 参数解释: sfs 子路径。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| read_only | Boolean | 参数解释: 是否只读。 约束限制: 不涉及。 取值范围: 默认取值: 不涉及。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| source | String | 参数解释: 代码来源类别。 约束限制: 不涉及。 取值范围: 如下参数不区分大小写 默认取值: 不涉及。 |
| address | String | 参数解释: 代码来源地址,格式遵循不同存储系统。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| mount_path | String | 参数解释: 挂载到容器内的路径。 约束限制: 不涉及。 取值范围: 以(/)开头和结尾,可包含字母、数字、中划线、下划线,整个挂载路径长度不能超过255位。 默认取值: 不涉及。 |
| host_cache | Boolean | 参数解释: 是否支持模型本地缓存,默认是不支持。 约束限制: 不涉及。 取值范围: 默认取值: false。 |
| efs_sub_path | String | 参数解释: 当存储类别为EFS时,支持配置子目录。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| read_only | Boolean | 参数解释: 挂载权限设置,是否只读。 约束限制: 不涉及。 取值范围: 默认取值: 不涉及。 |
| os_warm_up | Boolean | 参数解释: OS预热。 约束限制: 不涉及。 取值范围: 默认取值: 不涉及。 |
| source_name | String | 参数解释: 预热名称。 约束限制: os_warm_up为true时必填。 取值范围: 支持1-64位字符,可包含字母、中文、数字、中划线、下划线。 默认取值: 不涉及。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| check_method | String | 参数解释: 健康检查方式:HTTP 或者 EXEC(命令行)。 约束限制: 不涉及。 取值范围: 默认取值: 不涉及。 |
| cmd | String | 参数解释: 当健康检查方式为EXEC时必填,配置的命令行。 约束限制: 字符长度限制[0, 1024],不能包含字符:#~^$|%&*<>()'"[]{} 取值范围: 不涉及。 默认取值: 不涉及。 |
| url | String | 参数解释: 当健康检查方式为HTTP 时必填,配置的请求地址。 约束限制: 字符长度限制[0, 1024],首字符为/,后续字符可以是:字母 数字 中划线 下划线 / : 取值范围: 不涉及。 默认取值: 不涉及。 |
| protocol | String | 参数解释: 连接协议。默认HTTP。 约束限制: 不涉及。 取值范围: 默认取值: 不涉及。 |
| initial_delay_seconds | Integer | 参数解释: 执行首次探测时,应该等待的时间,默认30秒,最小1秒。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| timeout_seconds | Integer | 参数解释: 执行探测的超时时间,默认30秒,最小1秒。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| period_seconds | Integer | 参数解释: 执行健康检查的周期时间,执行探测的频率。默认是10秒,最小1秒。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| failure_threshold | Integer | 参数解释: 探测成功后,最少连续探测失败多少次才被认定为失败。默认是3。最小值是1。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| affinity_type | String | 参数解释: 节点亲和类型。 约束限制: 不涉及。 取值范围: 默认取值: 不涉及。 |
| required | Boolean | 参数解释: 是否设置强亲和。 约束限制: 不涉及。 取值范围: 默认取值: 不涉及。 |
| selection_mode | String | 参数解释: 选择节点方式。 约束限制: 不涉及。 取值范围: IP 默认取值: 不涉及。 |
| targets | Map<String,String> | 参数解释: 通过上述方式选择的列表,长度不能超过20。 约束限制: 不涉及。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| source | String | 参数解释: 产物转储目的类别。 约束限制: 不涉及。 取值范围: 如下参数不区分大小写 默认取值: 不涉及。 |
| mount_path | String | 参数解释: 挂载到容器内的路径。 约束限制: 不涉及。 取值范围: 以(/)开头和结尾,可包含字母、数字、中划线、下划线,整个挂载路径长度不能超过255位。 默认取值: 不涉及。 |
| address | String | 参数解释: 产物转储目的地址,格式遵循OBSFS系统。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| deploy_timeout_minutes | String | 参数解释: 部署超时时间 |
| upgrade_config | UpgradeConfig object | 参数解释: 滚动升级配置 |
| service_secret | ServiceSecret object | 参数解释: 服务密钥 |
| dynamic_routing_enable | Boolean | 参数解释: 智能路由开关 |
| strategy | String | 参数解释: 智能路由策略 |
| ems_enable | Boolean | 参数解释: EMS加速开关 |
| metric_api_scheme | String | 参数解释: 智能路由指标采集scheme |
| metric_api_port | String | 参数解释: 智能路由指标采集端口 |
| metric_api_path | String | 参数解释: 智能路由指标采集地址 |
| custom_metrics_path | String | 参数解释: 自定义监控采集指标地址 |
| port | Integer | 参数解释: 容器端口 |
| protocol | String | 参数解释: 容器请求协议。当选择WSS与WS时,服务接口会升级为WebSocket。开启WebSocket时,不支持同时设置“服务流量限制”。 取值范围: |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| type | String | 参数解释: 升级类型。 约束限制: 不涉及。 取值范围: 默认取值: 不涉及。 |
| rolling_update | RollingUpdate object | 参数解释: 滚动更新配置。 约束限制: 不涉及。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| max_surge | String | 参数解释: 滚动更新时最多可以启动多少个Pod。 约束限制: 百分数类型字符串。 取值范围: 1%-100%。 默认取值: 1%。 |
| max_unavailable | String | 参数解释: 滚动更新时最多可以删除多少个Pod。 约束限制: 百分数类型字符串。 取值范围: 1%-100%。 默认取值: 1%。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| secret_enable | Boolean | 参数解释: 是否启用密钥。 约束限制: 不涉及。 取值范围: 默认取值: false。 |
| secret_type | String | 参数解释: 密钥类型。 约束限制: 不涉及。 取值范围: 默认取值: 不涉及。 |
| secret_volumes | SecretVolume object | 参数解释: 密钥挂载。 约束限制: 上限30个。 |
| group_enable | Boolean | 参数解释: 是否启用镜像的用户组。 约束限制: 不涉及。 取值范围: 默认取值: false。 |
| group_id | Long | 参数解释: 镜像的用户组id。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
请求示例
修改实例数配置。
PUT https://{endpoint}/v2/{project_id}/services/{service_id}/deployments/{deployment_name}/scale
{
"count" : 1
} 响应示例
状态码:200
服务扩容/缩容成功。
{
"deployment_name" : "instance-35cb",
"status" : "running",
"count" : 2
} 状态码
| 状态码 | 描述 |
|---|---|
| 200 | 服务扩容/缩容成功。 |
错误码
请参见错误码。