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

创建节点池

功能介绍

创建节点池接口用于创建新的节点池。该接口适用于以下场景:当需要扩展计算资源、优化资源分配或部署新的服务时,用户可通过此接口创建指定配置的节点池。使用该接口的前提条件是用户具有管理员权限且节点池的配置参数(如节点数量、规格、网络配置等)已正确设置。创建操作完成后,节点池将被成功创建并处于可用状态,相关节点信息将被记录。若用户无权限操作、配置参数错误或系统资源不足,接口将返回相应的错误信息。

调试

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

URI

POST /v2/{project_id}/pools/{pool_name}/nodepools

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

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

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

pool_name

String

参数解释:资源池名称。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

请求参数

表2 请求Body参数

参数

是否必选

参数类型

描述

apiVersion

String

参数解释:API版本。

取值范围:可选值如下:

  • v2

kind

String

参数解释:节点池类型。

取值范围:可选值如下:

  • NodePool:节点池

metadata

CreateNodePoolMetaVO object

参数解释:节点池的metadata信息。

spec

NodePoolSpec object

参数解释:节点池的期望信息。

表3 CreateNodePoolMetaVO

参数

是否必选

参数类型

描述

name

String

参数解释:节点池名称。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

annotations

CreateNodePoolAnnotations object

参数解释:节点池的注释信息。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

表4 CreateNodePoolAnnotations

参数

是否必选

参数类型

描述

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:自动续费

默认取值:0。

os.modelarts/promotion.info

String

参数解释:用户在运营平台选择的折扣信息。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

os.modelarts/service.console.url

String

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

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

os.modelarts/order.id

String

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

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

表5 NodePoolSpec

参数

是否必选

参数类型

描述

resources

PoolResource object

参数解释: 节点池中的资源信息列表,包括资源规格和相应规格的资源数量,自定义配置等。

取值范围: 不涉及。

表6 PoolResource

参数

是否必选

参数类型

描述

flavor

String

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

取值范围: 不涉及。

count

Integer

参数解释: 规格保障使用量。

取值范围: 不涉及。

maxCount

Integer

参数解释: 资源规格的弹性使用量,物理池该值和count相同,逻辑池该值大于等于count。

取值范围: 不涉及。

azs

Array of PoolNodeAz objects

参数解释: 节点池az分布。

nodePool

String

参数解释: 节点池名称。比如:nodePool-1。

取值范围: 不涉及。

taints

Array of Taints objects

参数解释: 支持给创建出来的节点加taints来设置反亲和性,非特权池不能指定。

labels

Map<String,String>

参数解释: k8s标签,格式为key/value键值对。

取值范围: 不涉及。

tags

Array of UserTags objects

参数解释: 资源标签,非特权池不能指定。

取值范围: 不涉及。

network

NodeNetwork object

参数解释:网络配置,非特权池不能指定。

extendParams

Map<String,String>

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

  • "dockerBaseSize": 指定资源池节点的容器引擎空间大小。值为0时表示不限制大小。

creatingStep

CreatingStep object

参数解释:批量创建信息。

os

Os object

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

表7 PoolNodeAz

参数

是否必选

参数类型

描述

az

String

参数解释:可用区名称。

取值范围:不涉及。

count

Integer

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

取值范围:不涉及。

表8 Taints

参数

是否必选

参数类型

描述

key

String

参数解释:键。

取值范围:不涉及。

value

String

参数解释:值。

取值范围:不涉及。

effect

String

参数解释:作用效果。

取值范围:不涉及。

表9 UserTags

参数

是否必选

参数类型

描述

key

String

参数解释:键。不得以"CCE-"或"__type_baremetal"开头"。

取值范围:不涉及。

value

String

参数解释:值。

取值范围:不涉及。

表10 NodeNetwork

参数

是否必选

参数类型

描述

vpc

String

参数解释:vpc id。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

subnet

String

参数解释:子网id。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

securityGroups

Array of strings

参数解释:安全组id集合。

约束限制:不涉及。

表11 CreatingStep

参数

是否必选

参数类型

描述

step

Integer

参数解释:超节点的步长。仅支持资源规格详情中包含的步长。

取值范围:不涉及。

type

String

参数解释:批量创建类型。

取值范围:可选值如下:

  • hyperinstance:超节点。

表12 Os

参数

是否必选

参数类型

描述

name

String

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

取值范围:不涉及。

imageId

String

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

取值范围:不涉及。

imageType

String

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

取值范围:可选值如下:

  • private:私有镜像。

响应参数

状态码:200

表13 响应Body参数

参数

参数类型

描述

apiVersion

String

参数解释:API版本。

取值范围:可选值如下:

  • v2

kind

String

参数解释:节点池类型。

取值范围:可选值如下:

  • NodePool:节点池

metadata

CreateNodePoolMetaVO object

参数解释:节点池的metadata信息。

spec

NodePoolSpec object

参数解释:节点池的期望信息。

表14 CreateNodePoolMetaVO

参数

参数类型

描述

name

String

参数解释:节点池名称。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

annotations

CreateNodePoolAnnotations object

参数解释:节点池的注释信息。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

表15 CreateNodePoolAnnotations

参数

参数类型

描述

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:自动续费

默认取值:0。

os.modelarts/promotion.info

String

参数解释:用户在运营平台选择的折扣信息。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

os.modelarts/service.console.url

String

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

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

os.modelarts/order.id

String

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

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

表16 NodePoolSpec

参数

参数类型

描述

resources

PoolResource object

参数解释: 节点池中的资源信息列表,包括资源规格和相应规格的资源数量,自定义配置等。

取值范围: 不涉及。

表17 PoolResource

参数

参数类型

描述

flavor

String

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

取值范围: 不涉及。

count

Integer

参数解释: 规格保障使用量。

取值范围: 不涉及。

maxCount

Integer

参数解释: 资源规格的弹性使用量,物理池该值和count相同,逻辑池该值大于等于count。

取值范围: 不涉及。

azs

Array of PoolNodeAz objects

参数解释: 节点池az分布。

nodePool

String

参数解释: 节点池名称。比如:nodePool-1。

取值范围: 不涉及。

taints

Array of Taints objects

参数解释: 支持给创建出来的节点加taints来设置反亲和性,非特权池不能指定。

labels

Map<String,String>

参数解释: k8s标签,格式为key/value键值对。

取值范围: 不涉及。

tags

Array of UserTags objects

参数解释: 资源标签,非特权池不能指定。

取值范围: 不涉及。

network

NodeNetwork object

参数解释:网络配置,非特权池不能指定。

extendParams

Map<String,String>

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

  • "dockerBaseSize": 指定资源池节点的容器引擎空间大小。值为0时表示不限制大小。

creatingStep

CreatingStep object

参数解释:批量创建信息。

os

Os object

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

表18 PoolNodeAz

参数

参数类型

描述

az

String

参数解释:可用区名称。

取值范围:不涉及。

count

Integer

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

取值范围:不涉及。

表19 Taints

参数

参数类型

描述

key

String

参数解释:键。

取值范围:不涉及。

value

String

参数解释:值。

取值范围:不涉及。

effect

String

参数解释:作用效果。

取值范围:不涉及。

表20 UserTags

参数

参数类型

描述

key

String

参数解释:键。不得以"CCE-"或"__type_baremetal"开头"。

取值范围:不涉及。

value

String

参数解释:值。

取值范围:不涉及。

表21 NodeNetwork

参数

参数类型

描述

vpc

String

参数解释:vpc id。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

subnet

String

参数解释:子网id。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

securityGroups

Array of strings

参数解释:安全组id集合。

约束限制:不涉及。

表22 CreatingStep

参数

参数类型

描述

step

Integer

参数解释:超节点的步长。仅支持资源规格详情中包含的步长。

取值范围:不涉及。

type

String

参数解释:批量创建类型。

取值范围:可选值如下:

  • hyperinstance:超节点。

表23 Os

参数

参数类型

描述

name

String

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

取值范围:不涉及。

imageId

String

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

取值范围:不涉及。

imageType

String

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

取值范围:可选值如下:

  • private:私有镜像。

状态码:400

表24 响应Body参数

参数

参数类型

描述

error_code

String

参数解释:ModelArts错误码。

取值范围:不涉及。

error_msg

String

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

取值范围:不涉及。

请求示例

创建节点池。

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

{
  "kind" : "NodePool",
  "apiVersion" : "v2",
  "metadata" : {
    "name" : "nodepool-1",
    "annotations" : { }
  },
  "spec" : {
    "resources" : {
      "nodePool" : "nodepool-1",
      "flavor" : "modelarts.vm.2u4g.dcc",
      "count" : 1,
      "maxCount" : 1,
      "network" : {
        "vpc" : "277e9abc-0e6b-431a-9232-cfd25d5fc566",
        "subnet" : "03796378-c356-4c14-826b-e4913aa9c8b9",
        "securityGroups" : [ "0a15b48d-06f1-41e4-b782-ade90087bf59" ]
      }
    }
  }
}

响应示例

状态码:200

OK。

{
  "kind" : "NodePool",
  "apiVersion" : "v2",
  "metadata" : {
    "name" : "nodepool-1",
    "annotations" : { }
  },
  "spec" : {
    "resources" : {
      "nodePool" : "nodepool-1",
      "flavor" : "modelarts.vm.2u4g.dcc",
      "count" : 1,
      "maxCount" : 1,
      "network" : {
        "vpc" : "277e9abc-0e6b-431a-9232-cfd25d5fc566",
        "subnet" : "03796378-c356-4c14-826b-e4913aa9c8b9",
        "securityGroups" : [ "0a15b48d-06f1-41e4-b782-ade90087bf59" ]
      }
    }
  }
}

状态码:400

Bad request

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

状态码

状态码

描述

200

OK。

400

Bad request

错误码

请参见错误码

相关文档