更新时间:2025-10-10 GMT+08:00
分享

创建资源池

功能介绍

创建资源池接口用于在系统中创建新的资源池。该接口适用于以下场景:当需要为新业务分配资源、优化资源管理或进行资源隔离时,用户可通过此接口创建新的资源池,用于管理计算、存储、网络等资源。使用该接口的前提条件是用户具有管理员权限,并且系统中具备足够的资源支持新资源池的创建。创建操作完成后,新的资源池将被成功添加到系统中,并处于可用状态,可支持后续的资源分配和管理。若用户无权限、系统资源不足或输入参数有误,接口将返回相应的错误信息。

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

URI

POST /v2/{project_id}/pools

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

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

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-ModelArts-User-ID

String

参数解释:实际的外部租户ID,如果有的话,工作空间鉴权以该ID为准。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

表3 请求Body参数

参数

是否必选

参数类型

描述

apiVersion

String

参数解释:API版本。

约束限制:不涉及。

取值范围:可选值如下:

  • v2

默认取值:不涉及。

kind

String

参数解释:资源类型。

约束限制:不涉及。

取值范围:可选值如下:

  • Pool:资源池

默认取值:不涉及。

metadata

PoolMetadataCreation object

参数解释:资源池的metadata信息。

约束限制:不涉及。

spec

PoolSpecCreation object

参数解释:资源池的描述信息。

约束限制:不涉及。

表4 PoolMetadataCreation

参数

是否必选

参数类型

描述

labels

PoolLabelsCreation object

参数解释:资源池的标签信息。

约束限制:不涉及。

annotations

PoolAnnotationsCreation object

参数解释:资源池的注释信息。

约束限制:不涉及。

表5 PoolLabelsCreation

参数

是否必选

参数类型

描述

os.modelarts/name

String

参数解释:用户指定的资源池名称。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

os.modelarts/workspace.id

String

参数解释:工作空间ID。获取方法请参见查询工作空间列表

约束限制:不涉及。

取值范围:未创建工作空间时默认值为“0”,存在创建并使用的工作空间,以实际取值为准。

默认取值:不涉及。

os.modelarts/node.prefix

String

参数解释:自定义节点名称前缀。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

表6 PoolAnnotationsCreation

参数

是否必选

参数类型

描述

os.modelarts/description

String

参数解释:资源池的描述信息。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

os.modelarts/billing.mode

String

参数解释:计费模式。

约束限制:不涉及。

取值范围:可选值如下:

  • 0:按需计费

  • 1:包周期计费

默认取值:不涉及。

os.modelarts/period.num

String

参数解释:包周期订购周期,比如2。当计费模式为包周期时该参数必传。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

os.modelarts/period.type

String

参数解释:包周期订购类型。当计费模式为包周期时该参数必传。

约束限制:不涉及。

取值范围:可选值如下:

  • 2:月

  • 3:年

默认取值:不涉及。

os.modelarts/auto.renew

String

参数解释:是否自动续费。

约束限制:不涉及。

取值范围:可选值如下:

  • 0:不自动续费

  • 1:自动续费

默认取值:0。

os.modelarts/auto.pay

String

参数解释:是否自动付费,仅在用户购买包周期资源时生效。

约束限制:不涉及。

取值范围:可选值如下:

  • true:自动付费

  • false:手动付费,默认值

默认取值:不涉及。

os.modelarts/promotion.info

String

参数解释:用户在cbc选择的折扣信息。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

os.modelarts/service.console.url

String

参数解释:订购订单支付完成后跳转的url地址。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

os.modelarts/order.id

String

参数解释:订单id,包周期资源池创建或者计费模式变更的时候该参数必需。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

表7 PoolSpecCreation

参数

是否必选

参数类型

描述

type

String

参数解释:资源池类型。

约束限制:不涉及。

取值范围:可选值如下:

  • Dedicate:物理资源池,独立的网络,支持网络打通,定制驱动,定制作业类型

  • Logical:逻辑资源池。没有独立的网络,不支持网络打通,资源池创建和扩缩容相较物理资源池更快。

默认取值:不涉及。

scope

Array of strings

参数解释:资源池支持的作业类型。

约束限制:不涉及。

取值范围:用户创建标准资源池时至少选择一种,物理资源池支持全部选择。可选值如下:

  • Train:训练作业

  • Infer:推理作业

  • Notebook:Notebook作业

默认取值:不涉及。

resources

Array of PoolResourceFlavor objects

参数解释:资源池中的资源规格信列表,包括资源规格和相应规格的资源数量。

约束限制:不涉及。

network

network object

参数解释:资源池网络参数。创建物理资源池时必选。

约束限制:不涉及。

jobFlavors

Array of strings

参数解释:资源池支持的作业规格信息列表,内容为作业规格名称。

约束限制:不涉及。

driver

PoolDriver object

参数解释:资源池的驱动信息。

约束限制:不涉及。

表8 PoolResourceFlavor

参数

是否必选

参数类型

描述

flavor

String

参数解释:资源规格,比如:modelarts.vm.gpu.tnt004。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

count

Integer

参数解释:资源规格的保障资源量。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

maxCount

Integer

参数解释:资源规格的弹性资源量。物理池中该值和count必须一致。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

extendParams

extendParams object

参数解释:自定义配置参数。

约束限制:不涉及。

os

Os object

参数解释:自定义操作系统镜像信息。

约束限制:不涉及。

表9 extendParams

参数

是否必选

参数类型

描述

dockerBaseSize

String

参数解释:指定资源池节点的容器引擎空间大小。值为0时表示不限制大小。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

表10 Os

参数

是否必选

参数类型

描述

name

String

参数解释:操作系统名称。

取值范围:不涉及。

imageId

String

参数解释:操作系统镜像ID。

取值范围:不涉及。

imageType

String

参数解释:操作系统镜像类型。

取值范围:可选值如下:

  • private:私有镜像。

表11 network

参数

是否必选

参数类型

描述

name

String

参数解释:网络名称,即网络详情中的metadata.name字段的值。用户接口通过指定网络名称创建网络,系统会自动创建子网,用户无法创建子网。默认将创建在第一个子网下。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

表12 PoolDriver

参数

是否必选

参数类型

描述

gpuVersion

String

参数解释:资源池默认的GPU驱动版本。物理资源池中包含GPU规格时有效。

取值范围:不涉及。

npuVersion

String

参数解释:资源池默认的NPU驱动版本。物理资源池中包含NPU规格时有效。

取值范围:不涉及。

updateStrategy

String

参数解释:资源池驱动升级策略。

取值范围:可选值如下:

  • force:强制升级,立即升级节点驱动,可能影响节点上正在运行的作业。

  • idle:安全升级,待节点上没有作业运行时进行驱动升级。

响应参数

状态码:200

表13 响应Body参数

参数

参数类型

描述

apiVersion

String

参数解释:资源的API版本。

取值范围:可选值如下:

  • v2:当前资源版本为v2。

kind

String

参数解释:资源的类型。

取值范围:可选值如下:

  • Pool:资源池。

metadata

PoolMetadata object

参数解释:资源池的元信息。

spec

PoolSpecModel object

参数解释:资源池的规格信息。

status

PoolStatus object

参数解释:资源池的状态信息。

表14 PoolMetadata

参数

参数类型

描述

name

String

参数解释:资源池的ID。

取值范围:不涉及。

creationTimestamp

String

参数解释:资源池的创建时间。例如"2025-11-01T03:49:41Z"。

取值范围:不涉及。

labels

PoolMetaLabels object

参数解释:资源池的标签信息。

annotations

PoolMetaAnnotations object

参数解释:资源池的注释信息。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

表15 PoolMetaLabels

参数

参数类型

描述

os.modelarts/name

String

参数解释:资源池的显示名称。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

os.modelarts/workspace.id

String

参数解释:工作空间ID。获取方法请参见查询工作空间列表

约束限制:不涉及。

取值范围:不涉及。

默认取值:0。

os.modelarts/node.prefix

String

参数解释:自定义节点前缀,可选值。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

os.modelarts/resource.id

String

参数解释:资源池计费使用的资源ID。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

os.modelarts/tenant.domain.id

String

参数解释:资源池所属的租户ID。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

os.modelarts/tenant.project.id

String

参数解释:资源池所属的租户项目ID。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

os.modelarts/enterprise.project.id

String

参数解释:资源池所属的企业项目ID。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

os.modelarts.pool/biz

String

参数解释:资源池商业类型,public是公共池,private个人专属池。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

os.modelarts/create-from

String

参数解释:资源池创建来源,比如admin-console,标记来自admin创建,console标记来自ma console。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

os.modelarts/nobilling

String

参数解释:资源池是否计费。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

os.modelarts/order.name

String

参数解释:资源池关联的上一次订单作业记录。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

表16 PoolMetaAnnotations

参数

参数类型

描述

os.modelarts/description

String

参数解释:资源池的描述信息。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

os.modelarts/billing.mode

String

参数解释:计费模式。

约束限制:不涉及。

取值范围:可选值如下:

  • 0:按需计费

  • 1:包周期计费

默认取值:不涉及。

os.modelarts/period.num

String

参数解释:包周期资源池的订购周期。

约束限制:和os.modelarts/period.type字段配合使用。

取值范围:不涉及。

默认取值:不涉及。

os.modelarts/period.type

String

参数解释:包周期资源池的订购类型。

约束限制:和os.modelarts/period.num字段配合使用。

取值范围:可选值如下:

  • 2:包月。

  • 3:包年。

默认取值:不涉及。

os.modelarts/auto.renew

String

参数解释:包周期资源池的自动续费类型。

约束限制:不涉及。

取值范围:可选值如下:

  • 0:不自动续费。

  • 1:自动续费。

默认取值:0。

os.modelarts/promotion.info

String

参数解释:包周期资源池购买时选择的折扣信息。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

os.modelarts/service.console.url

String

参数解释:购买包周期资源在订单支付完成后跳转地址。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

os.modelarts/order.id

String

参数解释:包周期资源池购买时传递的订单ID。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

os.modelarts/flavor.resource.ids

String

参数解释:包周期资源池中资源规格对应的资源ID。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

os.modelarts/tms.tags

String

参数解释:资源池上的资源标签。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

os.modelarts.pool/scheduler.queue.strategy

String

参数解释:资源池调度队列的策略,用于定义任务调度的规则。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

os.modelarts.pool/subpools.count

String

参数解释:资源池包含的逻辑子池的数量。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

os.modelarts/tenant.domain.name

String

参数解释:资源池的租户账号

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

os.modelarts.pool/scope.external.dependency.train

String

参数解释:训练外部依赖标识

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

表17 PoolSpecModel

参数

参数类型

描述

type

String

参数解释:资源池类型。

约束限制:不涉及。

取值范围:可选值如下:

  • Dedicate:物理资源池,独立的网络,支持网络打通,定制驱动,定制作业类型。

  • Logical:逻辑资源池。没有独立的网络,不支持网络打通,资源池创建和扩缩容相较物理资源池更快。

默认取值:不涉及。

scope

Array of strings

参数解释:资源池支持的作业类型。

resources

Array of resources objects

参数解释:资源池中的资源规格信列表,包括资源规格和相应规格的资源数量。

containernetwork

containernetwork object

参数解释:k8s 容器网络。

network

network object

参数解释:资源池网络参数。

jobFlavors

Array of strings

参数解释:资源池支持的作业规格列表。参数为作业规格名称。

driver

PoolDriver object

参数解释:资源池驱动信息。

controlMode

Integer

参数解释:资源池的受限状态。状态可以叠加,比如9代表转包周期受限和冻结状态。

取值范围:可选值如下:

  • 0:代表不受限

  • 1:转包周期受限

  • 2:规格变更受限

  • 4:服务受限

  • 8:冻结

  • 16:公安冻结(不可退订)

表18 resources

参数

参数类型

描述

flavor

String

参数解释:资源规格ID。

取值范围:不涉及。

count

Integer

参数解释:资源池中资源规格实例数量。

取值范围:不涉及。

maxCount

Integer

参数解释:资源规格的弹性资源量。物理池中该值和count必须一致。

取值范围:不涉及。

azs

Array of PoolNodeAz objects

参数解释:资源池中期望创建的资源规格实例的az分布。

extendParams

extendParams object

参数解释:资源池自定义配置参数。

os

Os object

参数解释:资源池中节点操作系统镜像信息。

dataVolumes

dataVolumes object

参数解释:自定义数据盘(云硬盘)列表信息,指定后不可修改。

volumeGroupConfigs

volumeGroupConfigs object

参数解释:磁盘高级配置信息。

表19 extendParams

参数

参数类型

描述

dockerBaseSize

String

参数解释:资源池创建的节点的容器引擎空间大小。值为0时表示不限制大小。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

volumeGroup

String

参数描述:磁盘分组名称。

取值范围:不涉及。

runtime

String

参数描述:模型运行时环境。

取值范围:不涉及。

表20 Os

参数

参数类型

描述

name

String

参数解释:操作系统名称。

取值范围:不涉及。

imageId

String

参数解释:操作系统镜像ID。

取值范围:不涉及。

imageType

String

参数解释:操作系统镜像类型。

取值范围:可选值如下:

  • private:私有镜像。

表21 dataVolumes

参数

参数类型

描述

volumeType

String

参数解释:磁盘类型,具体内容可参考磁盘类型及性能介绍。

取值范围:可选值如下:

  • SSD:超高IO硬盘

  • GPSSD:通用型SSD

  • SAS:高IO硬盘

size

String

参数解释:磁盘大小,单位为Gi。

取值范围:不涉及。

count

String

参数解释:磁盘个数。

取值范围:不涉及。

extendParams

extendParams object

参数解释:磁盘自定义配置

表22 extendParams

参数

参数类型

描述

billing

String

参数解释:标识存储实例是否计费。为空则表示不计费。该字段用户不可指定或修改。

取值范围:不涉及。

volumeGroup

String

参数解释:磁盘分组名称,用于各个存储空间的划分。

取值范围:可选项如下:

  • vgpaas:容器盘。

  • default:普通数据盘,以默认方式挂载。

  • vguser{num}:普通数据盘,指定挂载路径,不同路径的分组名称不同,如vguser1,vguser2。

  • vg-everest-localvolume-persistent:普通数据盘,作为持久存储卷

  • vg-everest-localvolume-ephemeral:普通数据盘,作为临时存储卷

表23 volumeGroupConfigs

参数

参数类型

描述

volumeGroup

String

参数解释:磁盘分组名称。作为dataVolumes中volumeGroup的索引。

取值范围:不涉及。

dockerThinPool

String

参数解释:资源池节点容器盘占数据盘的百分比。仅磁盘分组名称为vgpaas时,即容器盘,才可指定此参数。

取值范围:不涉及。

lvmConfig

lvmConfig object

参数解释:LVM配置管理。

表24 lvmConfig

参数

参数类型

描述

lvType

String

参数解释:LVM写入模式

取值范围:可选项如下:

  • linear:线性模式。

  • striped:条带模式,使用多块磁盘组成条带模式,能够提升磁盘性能。

表25 containernetwork

参数

参数类型

描述

mode

String

参数解释:容器网络模型。

取值范围:可选值如下:

  • overlay_l2:容器隧道网络,通过OVS(OpenVSwitch)为容器构建的overlay_l2网络。

  • vpc-router:VPC网络,使用ipvlan和自定义VPC路由为容器构建的Underlay的l2网络。

  • eni:云原生网络2.0,深度整合VPC原生ENI弹性网卡能力,采用VPC网段分配容器地址,支持ELB直通容器,享有高性能,创建CCE Turbo集群时指定。

表26 network

参数

参数类型

描述

name

String

参数解释:网络ID。

取值范围:不涉及。

表27 PoolDriver

参数

参数类型

描述

gpuVersion

String

参数解释:资源池默认的GPU驱动版本。物理资源池中包含GPU规格时有效。

取值范围:不涉及。

npuVersion

String

参数解释:资源池默认的NPU驱动版本。物理资源池中包含NPU规格时有效。

取值范围:不涉及。

updateStrategy

String

参数解释:资源池驱动升级策略。

取值范围:可选值如下:

  • force:强制升级,立即升级节点驱动,可能影响节点上正在运行的作业。

  • idle:安全升级,待节点上没有作业运行时进行驱动升级。

表28 PoolStatus

参数

参数类型

描述

phase

String

参数解释:资源池的状态。

取值范围:可选值如下:

  • Creating:资源池在创建中。

  • Running:资源池在运行中。

  • Abnormal:资源池异常。

  • Deleting:资源池在删除中。

  • Error:资源池错误。

message

String

参数解释:资源池当前状态的提示信息。

取值范围:不涉及。

resources

resources object

参数解释:资源池中不同状态的资源信息。

scope

Array of scope objects

参数解释:资源池当前支持的业务类型的状态信息。

driver

driver object

参数解释:资源池驱动状态信息。

parent

String

参数解释:资源池所属父资源池的ID。物理池为空。

取值范围:不涉及。

root

String

参数解释:资源池根资源池的ID。

取值范围:不涉及。

clusters

clusters object

参数解释:资源池集群信息,特权池才有该字段。

表29 resources

参数

参数类型

描述

creating

PoolResourceFlavorCount object

参数解释:资源池中创建状态的资源信息。

available

PoolResourceFlavorCount object

参数解释:资源池中可用状态的资源信息。

abnormal

PoolResourceFlavorCount object

参数解释:资源池中异常状态的资源信息。

deleting

PoolResourceFlavorCount object

参数解释:资源池中删除中状态的资源信息。

表30 PoolResourceFlavorCount

参数

参数类型

描述

flavor

String

参数解释:资源规格ID。

取值范围:不涉及。

count

Integer

参数解释:资源池中资源规格实例数量。

取值范围:不涉及。

maxCount

Integer

参数解释:资源池中资源规格实例弹性数量。物理池中该值和count相同。

取值范围:不涉及。

azs

Array of PoolNodeAz objects

参数解释:资源池中期望创建的资源规格实例的az分布。

nodePool

String

参数解释:节点池ID。

取值范围:不涉及。

表31 PoolNodeAz

参数

参数类型

描述

az

String

参数解释:可用区名称。

取值范围:不涉及。

count

Integer

参数解释:可用区资源实例的数量。

取值范围:不涉及。

表32 scope

参数

参数类型

描述

scopeType

String

参数解释:资源池的业务类型。

取值范围:可选值如下:

  • Train:训练任务。

  • Infer:推理任务。

  • Notebook:Notebook作业。

state

String

参数解释:资源池业务类型状态。

取值范围:可选值如下:

  • Enabling:启动中。

  • Enabled:已启动。

  • Disabling:关闭中。

  • Disabled:已关闭。

表33 driver

参数

参数类型

描述

gpu

PoolDriverStatus object

参数解释:资源池GPU驱动状态。

取值范围:不涉及。

npu

PoolDriverStatus object

参数解释:资源池NPU驱动状态。

取值范围:不涉及。

表34 PoolDriverStatus

参数

参数类型

描述

version

String

参数解释:资源池当前驱动版本。

取值范围:不涉及。

state

String

参数解释:资源池当前驱动状态。

取值范围:可选值如下:

  • Creating:驱动安装中。

  • Upgrading:驱动升级中。

  • Running:驱动运行中。

  • Abnormal:驱动异常。

表35 clusters

参数

参数类型

描述

name

String

参数解释:集群名称。

取值范围:不涉及。

clusterFlavor

String

参数解释:标准池的集群规格。

取值范围:不涉及。

type

String

参数解释:资源池集群的类型。

取值范围:不涉及。

version

String

参数解释:集群的版本号。

取值范围:不涉及。

plugins

plugins object

参数解释:集群支持的插件名称。

表36 plugins

参数

参数类型

描述

name

String

参数解释:集群支持的插件名称。

取值范围:不涉及。

状态码:400

表37 响应Body参数

参数

参数类型

描述

error_code

String

参数解释:ModelArts错误码。

取值范围:不涉及。

error_msg

String

参数解释:具体错误信息。

取值范围:不涉及。

状态码:409

表38 响应Body参数

参数

参数类型

描述

error_code

String

参数解释:ModelArts错误码。

取值范围:不涉及。

error_msg

String

参数解释:具体错误信息。

取值范围:不涉及。

请求示例

创建专属资源池。设置资源类型为“Pool”,资源池名称为“pool-001”,资源池类型为“Dedicate”(物理资源池),资源池支持的作业类型为“训练作业”。

POST https://{endpoint}/v2/{project_id}/pools

{
  "kind" : "Pool",
  "apiVersion" : "v2",
  "metadata" : {
    "labels" : {
      "os.modelarts/name" : "pool-001",
      "os.modelarts/workspace.id" : "0"
    },
    "annotations" : {
      "os.modelarts/description" : "",
      "os.modelarts/billing.mode" : "0"
    }
  },
  "spec" : {
    "type" : "Dedicate",
    "scope" : [ "Train" ],
    "network" : {
      "name" : "net-0123-86c13962597848eeb29c5861153a391f"
    },
    "resources" : [ {
      "flavor" : "modelarts.vm.gpu.tnt004",
      "count" : 2
    } ],
    "driver" : {
      "gpuVersion" : "440.31"
    }
  }
}

响应示例

状态码:400

Bad request

{
  "error_code" : "ModelArts.50004000",
  "error_msg" : "Bad request"
}

状态码:409

Already exists

{
  "error_code" : "ModelArts.50015000",
  "error_msg" : "Pool already exists."
}

状态码

状态码

描述

200

OK。

400

Bad request

409

Already exists

错误码

请参见错误码

相关文档