更新时间:2024-04-30 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/workspace.id

String

工作空间ID,默认值0。

os.modelarts/name

String

用户指定的pool名称。

表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:不自动续费,默认值

os.modelarts/promotion.info

String

用户在cbc选择的折扣信息。

os.modelarts/service.console.url

String

订购订单支付完成后跳转的url地址。

os.modelarts/order.id

String

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

表7 PoolSpecCreation

参数

是否必选

参数类型

描述

type

String

资源池类型。可选值如下:

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

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.t4u8。

count

Integer

相应规格资源数量。

表9 network

参数

是否必选

参数类型

描述

name

String

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

表10 PoolDriver

参数

是否必选

参数类型

描述

gpuVersion

String

GPU驱动版本,物理资源池中含有GPU规格时可填,例如: "440.33"。

npuVersion

String

NPU驱动版本,物理资源池中含有ascend规格时可填,例如:"C78"。

updateStrategy

String

驱动升级策略。可选值如下:

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

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

响应参数

状态码: 200

表11 响应Body参数

参数

参数类型

描述

apiVersion

String

API版本。可选值如下:

  • v2

kind

String

资源类型。可选值如下:

  • Pool:资源池

metadata

PoolMetadata object

资源池的metadata信息。

spec

PoolSpecModel object

资源池的期望信息。

status

PoolStatus object

资源池的状态信息。

表12 PoolMetadata

参数

参数类型

描述

name

String

系统自动生成的pool名称,相当于pool ID。

creationTimestamp

String

时间戳,例如"2021-11-01T03:49:41Z"。

labels

PoolMetaLabels object

资源池的标签信息。

annotations

PoolMetaAnnotations object

资源池的注释信息。

表13 PoolMetaLabels

参数

参数类型

描述

os.modelarts/workspace.id

String

工作空间id。

os.modelarts/name

String

用户指定的pool名称。

os.modelarts/resource.id

String

资源池的主资源id,通常提供给cbc使用。

os.modelarts/tenant.domain.id

String

资源池的租户id,记录资源池创建在哪个租户账号下。

表14 PoolMetaAnnotations

参数

参数类型

描述

os.modelarts/description

String

资源池的描述信息。

os.modelarts/billing.mode

String

计费模式。可选值如下:

  • 0:按需计费

  • 1:包周期计费

os.modelarts/period.num

String

包周期订购周期,比如2。

os.modelarts/period.type

String

包周期订购类型。可选值如下:

  • 2:月

  • 3:年

  • 4:小时

os.modelarts/auto.renew

String

是否自动续费.可选值如下:

  • 0:不自动续费,默认值

  • 1:自动续费

os.modelarts/promotion.info

String

用户在cbc选择的折扣信息。

os.modelarts/service.console.url

String

订购订单支付完成后跳转的url地址。

os.modelarts/order.id

String

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

os.modelarts/flavor.resource.ids

String

每种规格对应的resourceId,主要和cbc交互使用。

os.modelarts/tms.tags

String

创建的时候由用户指定的TMS标签。

表15 PoolSpecModel

参数

参数类型

描述

type

String

资源池类型。可选值如下:

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

scope

Array of strings

资源池支持的作业类型。至少选择一种,物理资源池支持全部选择。可选值如下:

  • Train:训练作业

  • Infer:推理作业

  • Notebook:Notebook作业

resources

Array of resources objects

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

network

network object

资源池网络参数。物理资源池时必选。

jobFlavors

Array of strings

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

driver

PoolDriver object

资源池的驱动信息。

controlMode

Integer

资源池的受限状态。可选值如下:

  • 0:代表不受限

  • 1:转包周期受限

  • 2:规格变更受限

  • 4:服务受限

  • 8:冻结

  • 16:公安冻结(不可退订)。 另外状态是可以叠加的,比如9代表转包周期受限+冻结状态

表16 resources

参数

参数类型

描述

flavor

String

资源规格,比如:modelarts.vm.gpu.t4u8。

count

Integer

相应规格资源数量。

azs

Array of PoolNodeAz objects

az列表信息。

表17 PoolNodeAz

参数

参数类型

描述

az

String

az名称。

count

Integer

指定az扩容时,指定az的节点数。

表18 network

参数

参数类型

描述

name

String

网络名称;用户接口通过指定网络名称创建网络,系统会自动创建子网,用户无法创建子网。默认将创建在第一个子网下。

表19 PoolDriver

参数

参数类型

描述

gpuVersion

String

GPU驱动版本,物理资源池中含有GPU规格时可填,例如: "440.33"。

npuVersion

String

NPU驱动版本,物理资源池中含有ascend规格时可填,例如:"C78"。

updateStrategy

String

驱动升级策略。可选值如下:

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

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

表20 PoolStatus

参数

参数类型

描述

phase

String

资源池集群状态。可选值如下:

  • Creating:创建中

  • Running:运行中

  • Abnormal:资源池不正常

  • Deleting:删除中

  • Error:资源池错误

message

String

资源池处于当前状态的提示信息。

resources

resources object

资源池中不同状态的资源量。

scope

Array of scope objects

资源池业务状态信息。

driver

driver object

资源池驱动信息。

parent

String

资源池父节点名称,物理池为空。

root

String

资源池根节点名称,物理池为自己的名称。

表21 resources

参数

参数类型

描述

creating

PoolResourceFlavorCount object

状态为创建中状态的资源量。

available

PoolResourceFlavorCount object

状态为可用状态的资源量。

abnormal

PoolResourceFlavorCount object

状态为非正常状态的资源量。

deleting

PoolResourceFlavorCount object

状态为删除中状态的资源量。

表22 PoolResourceFlavorCount

参数

参数类型

描述

flavor

String

资源规格名称,比如:modelarts.vm.gpu.t4u8。

count

Integer

规格保障使用量。

maxCount

Integer

资源规格的弹性使用量,物理池该值和count相同。

azs

Array of azs objects

资源所在的AZ的数量。

表23 azs

参数

参数类型

描述

az

String

AZ的名称。

count

Integer

AZ的资源数量。

表24 scope

参数

参数类型

描述

scopeType

String

业务类型。可选值如下:

  • Train:训练任务

  • Infer:推理任务

  • Notebook:Notebook作业

state

String

业务状态。可选值如下:

  • Enabling:启动中

  • Enabled:已启动

  • Disabling:关闭中

  • Disabled:已关闭

表25 driver

参数

参数类型

描述

gpu

PoolDriverStatus object

GPU驱动信息。

npu

PoolDriverStatus object

NPU驱动信息。

表26 PoolDriverStatus

参数

参数类型

描述

version

String

当前驱动版本。

state

String

当前驱动状态。可选值如下:

  • Creating:创建中

  • Upgrading:升级中

  • Running:运行中

  • Abnormal:不正常

状态码: 400

表27 响应Body参数

参数

参数类型

描述

error_code

String

ModelArts错误码

error_msg

String

具体错误信息

状态码: 409

表28 响应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.t4u8",
      "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

错误码

请参见错误码