更新时间:2026-07-03 GMT+08:00

手动服务扩缩容 - 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

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

参数解释:

用户项目ID。获取方法请参见获取项目ID和名称

约束限制:

不涉及。

取值范围:

账号的项目ID。

默认取值:

不涉及。

service_id

String

参数解释:

服务ID

deployment_name

String

参数解释:

部署名称,在创建部署时即可在返回体中获取,也可通过查询服务部署列表获取当前用户拥有的部署,其name字段即为部署名称。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

参数解释:

用户Token。通过调用IAM服务获取用户Token接口获取响应消息头中X-Subject-Token的值。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

Content-Type

String

参数解释:

消息体的类型(格式)

约束限制:

不涉及。

取值范围:

  • application/json

  • application/json;charset=utf-8

默认取值:

不涉及。

表3 请求Body参数

参数

是否必选

参数类型

描述

count

Integer

参数解释:

服务实例数。

取值范围:

[1, 128]。

响应参数

状态码:200

表4 响应Body参数

参数

参数类型

描述

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

参数解释:

算法框架。

取值范围:

  • COMMON: 普通在线服务。

priority

String

参数解释:

服务优先级。

约束限制:

不涉及。

取值范围:

[1, 3]。

默认取值:

不涉及。

secret_type

String

参数解释:

凭证类型相关配置,用户可以在此处选择使用的凭证类型(dew,agency)

约束限制:

不涉及。

取值范围:

  • dew: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

参数解释:

当服务或者部署被冻结时返回的冻结类型信息。

表5 UnitConfig

参数

参数类型

描述

id

String

参数解释:

实例单元ID。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

name

String

参数解释:

实例单元角色名称。

约束限制:

最大长度为16字符,且需满足正则:^[a-z0-9]([-a-z0-9]*[a-z0-9])?$

默认取值:

不涉及。

role

String

参数解释:

实例单元角色。

约束限制:

不涉及。

取值范围:

mindIe场景下:

  • scheduler:表示调度单元。

  • manager:表示管理单元。

  • worker:表示工作单元。

  • prefill:表示全量单元。

  • decode:表示增量单元。

  • common:表示其他角色。

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重启时,平台将按策略自动执行重建。若不开启,平台将不会主动干预处理。

取值范围:

  • Instance:部署副本重建,故障时重新拉起整个部署。

  • Role:单元重建,当部署单元内的Pod出现故障时,重启该单元内的所有Pod。

  • Pod:Pod重建,故障时重新拉起故障pod。

默认取值:

不涉及。

npu_reset_enable

Boolean

参数解释:

是否开启恢复策略。

约束限制:

不涉及。

取值范围:

  • true:开启恢复策略。

  • false:不开启恢复策略。

默认取值:

不涉及。

affinity

Affinity object

参数解释:

节点亲和调度设置。

约束限制:

不涉及。

security_config

SecurityConfig object

参数解释:

设置容器用户ID、用户组ID。

dumps

Array of Dump objects

参数解释:

产物转储相关配置,用户可以在此处配置产物转储的目的和容器挂载路径。

约束限制:

不涉及。

group_policy

UnitGroupPolicy object

参数解释:

单副本资源实例调度约束配置。

约束限制:

不涉及。

表6 CustomSpec

参数

参数类型

描述

gpu

Number

参数解释:

GPU个数。

约束限制:

不涉及。

取值范围:

支持配置小数,输入值不能小于0(最多支持2位小数,小数点后第3位做四舍五入处理)。

默认取值:

不涉及。

memory

Integer

参数解释:

内存,单位为MB。

约束限制:

不涉及。

取值范围:

仅支持整数。

默认取值:

不涉及。

cpu

Number

参数解释:

CPU核数。

约束限制:

不涉及。

取值范围:

支持配置小数,输入值不能小于0.01(最多支持2位小数,小数点后第3位做四舍五入处理)。

默认取值:

不涉及。

ascend

Integer

参数解释:

Ascend芯片个数。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

表7 Image

参数

参数类型

描述

id

String

参数解释:

镜像id。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

source

String

参数解释:

镜像类别,标识镜像来源。

约束限制:

不涉及。

取值范围:

  • swr:软件仓库服务。

  • image:[通用镜像]。

  • ai-gallery:[AI资源库]。

默认取值:

不涉及。

swr_path

String

参数解释:

镜像地址,source不同取值时,地址为不同值。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

category

String

参数解释:

镜像支持的规格。

约束限制:

不涉及。

取值范围:

  • GPU:图形处理器。

  • CPU:中央处理器。

  • ASCEND:昇腾芯片。

默认取值:

CPU。

表8 Model

参数

参数类型

描述

source

String

参数解释:

代码来源类别。

约束限制:

不涉及。

取值范围:

如下参数不区分大小写

  • OBS:对象存储服务。

  • OBSFS:OBS的文件系统接口。

  • EFS:弹性文件服务。

  • LOCAL:挂载宿主机本地存储目录。

默认取值:

不涉及。

address

String

参数解释:

代码来源地址,格式遵循不同存储系统。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

mount_path

String

参数解释:

挂载到容器内的路径,要求以/开头,后面可包含中划线,反斜杠,下划线,点号,字母,数字。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

host_cache

Boolean

参数解释:

是否支持模型本地缓存,默认是不支持。

约束限制:

不涉及。

取值范围:

  • true:支持。

  • false:不支持。

默认取值:

false。

efs_sub_path

String

参数解释:

当存储类别为EFS时,支持配置子目录。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

read_only

Boolean

参数解释:

挂载权限设置,是否只读。

约束限制:

不涉及。

取值范围:

  • true:只读。

  • false:非只读。

默认取值:

不涉及。

os_warm_up

Boolean

参数解释:

os预热。

约束限制:

不涉及。

取值范围:

  • true:预热。

  • false:不预热。

默认取值:

不涉及。

source_name

String

参数解释:

预热名称。

约束限制:

os_warm_up为true时必填。

取值范围:

支持1-64位字符,可包含字母、中文、数字、中划线、下划线。

默认取值:

不涉及。

表9 Code

参数

参数类型

描述

source

String

参数解释:

代码来源类别。

约束限制:

不涉及。

取值范围:

  • OBS:对象存储服务。

  • OBSFS:OBS的文件系统接口。

  • EFS:弹性文件服务。

默认取值:

不涉及。

address

String

参数解释:

代码来源地址,格式遵循不同存储系统。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

source_id

String

参数解释:

代码来源id,与address二选一,当且仅当source为EFS时,可以传入sfs turbo的id。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

mount_path

String

参数解释:

挂载到容器内的路径,要求以/开头,后面可包含中划线,反斜杠,下划线,点号,字母,数字。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

efs_sub_path

String

参数解释:

sfs 子路径。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

read_only

Boolean

参数解释:

是否只读。

约束限制:

不涉及。

取值范围:

  • true:只读。

  • false:非只读。

默认取值:

不涉及。

表10 File

参数

参数类型

描述

source

String

参数解释:

代码来源类别。

约束限制:

不涉及。

取值范围:

如下参数不区分大小写

  • OBS:对象存储服务。

  • OBSFS:OBS的文件系统接口。

  • EFS:弹性文件服务。

  • LOCAL:挂载宿主机本地存储目录。

默认取值:

不涉及。

address

String

参数解释:

代码来源地址,格式遵循不同存储系统。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

mount_path

String

参数解释:

挂载到容器内的路径。

约束限制:

不涉及。

取值范围:

以(/)开头和结尾,可包含字母、数字、中划线、下划线,整个挂载路径长度不能超过255位。

默认取值:

不涉及。

host_cache

Boolean

参数解释:

是否支持模型本地缓存,默认是不支持。

约束限制:

不涉及。

取值范围:

  • true:支持。

  • false:不支持。

默认取值:

false。

efs_sub_path

String

参数解释:

当存储类别为EFS时,支持配置子目录。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

read_only

Boolean

参数解释:

挂载权限设置,是否只读。

约束限制:

不涉及。

取值范围:

  • true:只读。

  • false:非只读。

默认取值:

不涉及。

os_warm_up

Boolean

参数解释:

OS预热。

约束限制:

不涉及。

取值范围:

  • true:预热。

  • false:不预热。

默认取值:

不涉及。

source_name

String

参数解释:

预热名称。

约束限制:

os_warm_up为true时必填。

取值范围:

支持1-64位字符,可包含字母、中文、数字、中划线、下划线。

默认取值:

不涉及。

表11 Health

参数

参数类型

描述

check_method

String

参数解释:

健康检查方式:HTTP 或者 EXEC(命令行)。

约束限制:

不涉及。

取值范围:

  • HTTP:超文本传输协议。

  • EXEC:命令行。

默认取值:

不涉及。

cmd

String

参数解释:

当健康检查方式为EXEC时必填,配置的命令行。

约束限制:

字符长度限制[0, 1024],不能包含字符:#~^$|%&*<>()'"[]{}

取值范围:

不涉及。

默认取值:

不涉及。

url

String

参数解释:

当健康检查方式为HTTP 时必填,配置的请求地址。

约束限制:

字符长度限制[0, 1024],首字符为/,后续字符可以是:字母 数字 中划线 下划线 / :

取值范围:

不涉及。

默认取值:

不涉及。

protocol

String

参数解释:

连接协议。默认HTTP。

约束限制:

不涉及。

取值范围:

  • HTTPS:超文本传输协议安全版。

  • HTTP:超文本传输协议。

  • WSS:网络通信协议安全版。

  • WS:网络通信协议。

  • TCP:传输控制协议。

  • NA:不使用任何协议。

默认取值:

不涉及。

initial_delay_seconds

Integer

参数解释:

执行首次探测时,应该等待的时间,默认30秒,最小1秒。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

timeout_seconds

Integer

参数解释:

执行探测的超时时间,默认30秒,最小1秒。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

period_seconds

Integer

参数解释:

执行健康检查的周期时间,执行探测的频率。默认是10秒,最小1秒。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

failure_threshold

Integer

参数解释:

探测成功后,最少连续探测失败多少次才被认定为失败。默认是3。最小值是1。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

表12 Affinity

参数

参数类型

描述

affinity_type

String

参数解释:

节点亲和类型。

约束限制:

不涉及。

取值范围:

  • AFFINITY:亲和。

  • ANTI_AFFINITY:反亲和。

默认取值:

不涉及。

required

Boolean

参数解释:

是否设置强亲和。

约束限制:

不涉及。

取值范围:

  • true:设置强亲和。

  • false:不设置强亲和。

默认取值:

不涉及。

selection_mode

String

参数解释:

选择节点方式。

约束限制:

不涉及。

取值范围:

IP

默认取值:

不涉及。

targets

Map<String,String>

参数解释:

通过上述方式选择的列表,长度不能超过20。

约束限制:

不涉及。

表13 SecurityConfig

参数

参数类型

描述

user_id

String

参数解释:

设置容器用户ID。

group_id

String

参数解释:

设置容器用户组ID。

表14 Dump

参数

参数类型

描述

source

String

参数解释:

产物转储目的类别。

约束限制:

不涉及。

取值范围:

如下参数不区分大小写

  • OBSFS:OBS并行文件系统。

默认取值:

不涉及。

mount_path

String

参数解释:

挂载到容器内的路径。

约束限制:

不涉及。

取值范围:

以(/)开头和结尾,可包含字母、数字、中划线、下划线,整个挂载路径长度不能超过255位。

默认取值:

不涉及。

address

String

参数解释:

产物转储目的地址,格式遵循OBSFS系统。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

表15 UnitGroupPolicy

参数

参数类型

描述

schedule_scope

String

参数解释:

调度范围。

取值范围:

  • HYPERNODE:超节点调度

  • SLICE:柜级调度

表16 AdvancedConfig

参数

参数类型

描述

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时,不支持同时设置“服务流量限制”。

取值范围:

  • HTTP:HTTP协议。

  • HTTPS:HTTPS协议。

  • WSS:WebSocket Secure协议。

  • WS:WebSocket协议。

  • TCP:传输控制协议。

  • NA:不使用任何协议。

表17 UpgradeConfig

参数

参数类型

描述

type

String

参数解释:

升级类型。

约束限制:

不涉及。

取值范围:

  • ROLLING:滚动升级,默认值。

  • REPLACE:替换升级。

默认取值:

不涉及。

rolling_update

RollingUpdate object

参数解释:

滚动更新配置。

约束限制:

不涉及。

表18 RollingUpdate

参数

参数类型

描述

max_surge

String

参数解释:

滚动更新时最多可以启动多少个Pod。

约束限制:

百分数类型字符串。

取值范围:

1%-100%。

默认取值:

1%。

max_unavailable

String

参数解释:

滚动更新时最多可以删除多少个Pod。

约束限制:

百分数类型字符串。

取值范围:

1%-100%。

默认取值:

1%。

表19 ServiceSecret

参数

参数类型

描述

secret_enable

Boolean

参数解释:

是否启用密钥。

约束限制:

不涉及。

取值范围:

  • true:启用密钥。

  • false:不启用密钥。

默认取值:

false。

secret_type

String

参数解释:

密钥类型。

约束限制:

不涉及。

取值范围:

  • custom:自定义密钥。

  • dew:DEW密钥。

默认取值:

不涉及。

secret_volumes

SecretVolume object

参数解释:

密钥挂载。

约束限制:

上限30个。

group_enable

Boolean

参数解释:

是否启用镜像的用户组。

约束限制:

不涉及。

取值范围:

  • true:启用镜像的用户组。

  • false:不启用镜像的用户组。

默认取值:

false。

group_id

Long

参数解释:

镜像的用户组id。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

表20 SecretVolume

参数

参数类型

描述

secret_name

String

参数解释:

密钥名称。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

secret_key

String

参数解释:

密钥key。

约束限制:

长度不大于63。

取值范围:

不涉及。

默认取值:

不涉及。

secret_value

String

参数解释:

密钥值。

约束限制:

长度不大于32768。

取值范围:

不涉及。

默认取值:

不涉及。

mount_path

String

参数解释:

挂载路径。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

表21 FrozenInfo

参数

参数类型

描述

scene

String

冻结场景。可选值如下:

  • ARREAR:欠费冻结

  • POLICE:公安冻结

  • ILLEGAL:违规冻结

effect

Integer

冻结后的影响。可选值如下:

  • 1:冻结后可释放

  • 2:冻结后不可释放

请求示例

修改实例数配置。

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

服务扩容/缩容成功。

错误码

请参见错误码