创建节点池 - CreateNodePool
功能介绍
创建节点池接口用于创建新的节点池。该接口适用于以下场景:当需要扩展计算资源、优化资源分配或部署新的服务时,用户可通过此接口创建指定配置的节点池。使用该接口的前提条件是用户具有管理员权限且节点池的配置参数(如节点数量、规格、网络配置等)已正确设置。创建操作完成后,节点池将被成功创建并处于可用状态,相关节点信息将被记录。若用户无权限操作、配置参数错误或系统资源不足,接口将返回相应的错误信息。
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权,具体权限要求请参见权限和授权项。
- 如果使用身份策略授权,当前API调用无需身份策略权限。
URI
POST /v2/{project_id}/pools/{pool_name}/nodepools
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
project_id |
是 |
String |
参数解释:用户项目ID。获取方法请参见获取项目ID和名称。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
|
pool_name |
是 |
String |
参数解释:资源池名称。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
请求参数
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
apiVersion |
是 |
String |
参数解释:API版本。 取值范围:可选值如下:
|
|
kind |
是 |
String |
参数解释:节点池类型。 取值范围:可选值如下:
|
|
metadata |
是 |
CreateNodePoolMetaVO object |
参数解释:节点池的metadata信息。 |
|
spec |
否 |
NodePoolSpec object |
参数解释:节点池的期望信息。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
name |
是 |
String |
参数解释:节点池名称。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
|
annotations |
否 |
CreateNodePoolAnnotations object |
参数解释:节点池的注释信息。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
os.modelarts/billing.mode |
否 |
String |
参数解释:计费模式。 约束限制:不涉及。 取值范围:可选值如下:
默认取值:不涉及。 |
|
os.modelarts/period.num |
否 |
String |
参数解释:包周期订购周期,比如2。当计费模式为包周期时该参数必传。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
|
os.modelarts/period.type |
否 |
String |
参数解释:包周期订购类型。当计费模式为包周期时该参数必传 约束限制:不涉及。 取值范围:可选值如下:
默认取值:不涉及。 |
|
os.modelarts/auto.renew |
否 |
String |
参数解释:是否自动续费。 约束限制:不涉及。 取值范围:可选值如下:
默认取值:0。 |
|
os.modelarts/promotion.info |
否 |
String |
参数解释:用户在运营平台选择的折扣信息。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
|
os.modelarts/service.console.url |
否 |
String |
参数解释:订购订单支付完成后跳转的url地址。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
|
os.modelarts/order.id |
否 |
String |
参数解释:订单id,包周期资源创建或者计费模式变更的时候该参数必需。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
resources |
是 |
PoolResource object |
参数解释: 节点池中的资源信息列表,包括资源规格和相应规格的资源数量,自定义配置等。 取值范围: 不涉及。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
flavor |
是 |
String |
参数解释:资源规格名称,比如:modelarts.vm.gpu.t4u8。 取值范围:不涉及。 |
|
count |
是 |
Integer |
参数解释:规格保障使用量。 取值范围:不涉及。 |
|
maxCount |
是 |
Integer |
参数解释:资源规格的弹性使用量,物理池该值和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 |
否 |
ResourceExtendParams object |
参数解释:自定义配置。 |
|
creatingStep |
否 |
CreatingStep object |
参数解释:批量创建信息。 |
|
rootVolume |
否 |
RootVolume object |
参数解释:自定义系统盘(云硬盘)信息。 |
|
dataVolumes |
否 |
Array of DataVolumeItem objects |
参数解释:自定义数据盘(云硬盘)列表信息。 |
|
volumeGroupConfigs |
否 |
Array of VolumeGroupConfig objects |
参数解释:磁盘高级配置。存在自定义数据盘时必须指定对应的高级配置。 |
|
os |
否 |
Os object |
参数解释:操作系统镜像信息。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
az |
是 |
String |
参数解释:可用区名称。 取值范围:不涉及。 |
|
count |
是 |
Integer |
参数解释:可用区资源实例的数量。 取值范围:不涉及。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
key |
是 |
String |
参数解释:键。 取值范围:不涉及。 |
|
value |
否 |
String |
参数解释:值。 取值范围:不涉及。 |
|
effect |
是 |
String |
参数解释:作用效果。 取值范围:不涉及。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
key |
是 |
String |
参数解释:键。不得以"CCE-"或"__type_baremetal"开头"。 取值范围:不涉及。 |
|
value |
是 |
String |
参数解释:值。 取值范围:不涉及。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
vpc |
否 |
String |
参数解释:vpc id。 取值范围:不涉及。 |
|
subnet |
否 |
String |
参数解释:子网id。 取值范围:不涉及。 |
|
securityGroups |
否 |
Array of strings |
参数解释:安全组id集合。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
dockerBaseSize |
否 |
String |
参数解释:节点的容器镜像空间大小。 取值范围:可选值如下:
|
|
postInstall |
否 |
String |
参数解释:安装后执行脚本,输入的值需要经过Base64编码。 取值范围:不涉及。 |
|
runtime |
否 |
String |
参数解释:容器运行时。 取值范围:可选值如下:
|
|
labelPolicyOnExistingNodes |
否 |
String |
参数解释:存量节点k8s标签更新策略,值为空时默认更新存量节点。 取值范围:可选值如下:
|
|
taintPolicyOnExistingNodes |
否 |
String |
参数解释:存量节点k8s污点更新策略,值为空时默认更新存量节点。 取值范围:可选值如下:
|
|
tagPolicyOnExistingNodes |
否 |
String |
参数解释:存量节点资源标签更新策略,值为空时默认更新存量节点。 取值范围:可选值如下:
|
|
XParameterPlaneSubnet |
否 |
String |
参数解释:跨物理集群之间进行参数面数据传输使用的子网id。不可与节点子网和容器子网重复。 取值范围:不涉及。 |
|
nodePoolName |
否 |
String |
参数解释:用户指定的节点池名称。最小长度为2,最大长度为50的小写字母、中划线-、数字组成,由小写字母开头,不能以-,-default结尾。 取值范围:不涉及 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
step |
否 |
Integer |
参数解释:超节点的步长。仅支持资源规格详情中包含的步长。 取值范围:不涉及。 |
|
type |
否 |
String |
参数解释:批量创建类型。 取值范围:可选值如下:
|
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
volumeType |
是 |
String |
参数解释:磁盘类型,具体内容可参考磁盘类型及性能介绍。 取值范围:可选值如下:
|
|
size |
是 |
String |
参数解释:磁盘大小,单位为GiB。 取值范围:不涉及。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
volumeType |
是 |
String |
参数解释:磁盘类型,具体内容可参考磁盘类型及性能介绍。 取值范围:可选值如下:
|
|
size |
是 |
String |
参数解释:磁盘大小,单位为GiB。 取值范围:不涉及。 |
|
count |
否 |
Integer |
参数解释:磁盘个数。 取值范围:不涉及。 |
|
extendParams |
是 |
VolumeExtendParams object |
参数解释:磁盘自定义配置。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
volumeGroup |
是 |
String |
参数解释:磁盘分组名称,用于各个存储空间的划分。 取值范围:可选项如下:
|
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
volumeGroup |
是 |
String |
参数解释:磁盘分组名称。作为dataVolumes中volumeGroup的索引。 取值范围:不涉及。 |
|
dockerThinPool |
否 |
Integer |
参数解释:资源池节点容器盘占数据盘的百分比。仅磁盘分组名称为vgpaas时,即容器盘,才可指定此参数。 取值范围:不涉及。 |
|
lvmConfig |
否 |
LvmConfig object |
参数解释:LVM配置管理。 |
|
types |
否 |
Array of strings |
参数解释:存储类型。可选项如下:
|
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
lvType |
是 |
String |
参数解释:LVM写入模式。 取值范围:可选项如下:
|
|
path |
否 |
String |
参数解释:磁盘挂载路径。仅在用户配置中生效。支持包含:数字、大小写字母、点、中划线、下划线的绝对路径。 取值范围:不涉及。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
name |
否 |
String |
参数解释:操作系统名称和版本,如EulorOS 2.5。指定私有镜像时可不指定。 取值范围:不涉及。 |
|
imageId |
否 |
String |
参数解释:操作系统镜像id。 取值范围:不涉及。 |
|
imageType |
否 |
String |
参数解释:操作系统镜像类型。设置私有镜像时必须指定。默认为预置镜像,无需指定该字段。 取值范围:可选值如下:
|
|
autoMatch |
否 |
String |
参数解释:操作系统镜像自动匹配配置。当配置该参数时将会自动选择最优镜像,同时该参数会自动清空。 取值范围:操作系统名称和版本,如EulorOS 2.5。 |
响应参数
状态码:200
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
apiVersion |
String |
参数解释:API版本。 取值范围:可选值如下:
|
|
kind |
String |
参数解释:节点池类型。 取值范围:可选值如下:
|
|
metadata |
CreateNodePoolMetaVO object |
参数解释:节点池的metadata信息。 |
|
spec |
NodePoolSpec object |
参数解释:节点池的期望信息。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
name |
String |
参数解释:节点池名称。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
|
annotations |
CreateNodePoolAnnotations object |
参数解释:节点池的注释信息。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
os.modelarts/billing.mode |
String |
参数解释:计费模式。 约束限制:不涉及。 取值范围:可选值如下:
默认取值:不涉及。 |
|
os.modelarts/period.num |
String |
参数解释:包周期订购周期,比如2。当计费模式为包周期时该参数必传。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
|
os.modelarts/period.type |
String |
参数解释:包周期订购类型。当计费模式为包周期时该参数必传 约束限制:不涉及。 取值范围:可选值如下:
默认取值:不涉及。 |
|
os.modelarts/auto.renew |
String |
参数解释:是否自动续费。 约束限制:不涉及。 取值范围:可选值如下:
默认取值:0。 |
|
os.modelarts/promotion.info |
String |
参数解释:用户在运营平台选择的折扣信息。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
|
os.modelarts/service.console.url |
String |
参数解释:订购订单支付完成后跳转的url地址。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
|
os.modelarts/order.id |
String |
参数解释:订单id,包周期资源创建或者计费模式变更的时候该参数必需。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
resources |
PoolResource object |
参数解释: 节点池中的资源信息列表,包括资源规格和相应规格的资源数量,自定义配置等。 取值范围: 不涉及。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
flavor |
String |
参数解释:资源规格名称,比如:modelarts.vm.gpu.t4u8。 取值范围:不涉及。 |
|
count |
Integer |
参数解释:规格保障使用量。 取值范围:不涉及。 |
|
maxCount |
Integer |
参数解释:资源规格的弹性使用量,物理池该值和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 |
ResourceExtendParams object |
参数解释:自定义配置。 |
|
creatingStep |
CreatingStep object |
参数解释:批量创建信息。 |
|
rootVolume |
RootVolume object |
参数解释:自定义系统盘(云硬盘)信息。 |
|
dataVolumes |
Array of DataVolumeItem objects |
参数解释:自定义数据盘(云硬盘)列表信息。 |
|
volumeGroupConfigs |
Array of VolumeGroupConfig objects |
参数解释:磁盘高级配置。存在自定义数据盘时必须指定对应的高级配置。 |
|
os |
Os object |
参数解释:操作系统镜像信息。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
key |
String |
参数解释:键。 取值范围:不涉及。 |
|
value |
String |
参数解释:值。 取值范围:不涉及。 |
|
effect |
String |
参数解释:作用效果。 取值范围:不涉及。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
key |
String |
参数解释:键。不得以"CCE-"或"__type_baremetal"开头"。 取值范围:不涉及。 |
|
value |
String |
参数解释:值。 取值范围:不涉及。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
vpc |
String |
参数解释:vpc id。 取值范围:不涉及。 |
|
subnet |
String |
参数解释:子网id。 取值范围:不涉及。 |
|
securityGroups |
Array of strings |
参数解释:安全组id集合。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
dockerBaseSize |
String |
参数解释:节点的容器镜像空间大小。 取值范围:可选值如下:
|
|
postInstall |
String |
参数解释:安装后执行脚本,输入的值需要经过Base64编码。 取值范围:不涉及。 |
|
runtime |
String |
参数解释:容器运行时。 取值范围:可选值如下:
|
|
labelPolicyOnExistingNodes |
String |
参数解释:存量节点k8s标签更新策略,值为空时默认更新存量节点。 取值范围:可选值如下:
|
|
taintPolicyOnExistingNodes |
String |
参数解释:存量节点k8s污点更新策略,值为空时默认更新存量节点。 取值范围:可选值如下:
|
|
tagPolicyOnExistingNodes |
String |
参数解释:存量节点资源标签更新策略,值为空时默认更新存量节点。 取值范围:可选值如下:
|
|
XParameterPlaneSubnet |
String |
参数解释:跨物理集群之间进行参数面数据传输使用的子网id。不可与节点子网和容器子网重复。 取值范围:不涉及。 |
|
nodePoolName |
String |
参数解释:用户指定的节点池名称。最小长度为2,最大长度为50的小写字母、中划线-、数字组成,由小写字母开头,不能以-,-default结尾。 取值范围:不涉及 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
step |
Integer |
参数解释:超节点的步长。仅支持资源规格详情中包含的步长。 取值范围:不涉及。 |
|
type |
String |
参数解释:批量创建类型。 取值范围:可选值如下:
|
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
volumeType |
String |
参数解释:磁盘类型,具体内容可参考磁盘类型及性能介绍。 取值范围:可选值如下:
|
|
size |
String |
参数解释:磁盘大小,单位为GiB。 取值范围:不涉及。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
volumeType |
String |
参数解释:磁盘类型,具体内容可参考磁盘类型及性能介绍。 取值范围:可选值如下:
|
|
size |
String |
参数解释:磁盘大小,单位为GiB。 取值范围:不涉及。 |
|
count |
Integer |
参数解释:磁盘个数。 取值范围:不涉及。 |
|
extendParams |
VolumeExtendParams object |
参数解释:磁盘自定义配置。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
volumeGroup |
String |
参数解释:磁盘分组名称,用于各个存储空间的划分。 取值范围:可选项如下:
|
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
volumeGroup |
String |
参数解释:磁盘分组名称。作为dataVolumes中volumeGroup的索引。 取值范围:不涉及。 |
|
dockerThinPool |
Integer |
参数解释:资源池节点容器盘占数据盘的百分比。仅磁盘分组名称为vgpaas时,即容器盘,才可指定此参数。 取值范围:不涉及。 |
|
lvmConfig |
LvmConfig object |
参数解释:LVM配置管理。 |
|
types |
Array of strings |
参数解释:存储类型。可选项如下:
|
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
lvType |
String |
参数解释:LVM写入模式。 取值范围:可选项如下:
|
|
path |
String |
参数解释:磁盘挂载路径。仅在用户配置中生效。支持包含:数字、大小写字母、点、中划线、下划线的绝对路径。 取值范围:不涉及。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
name |
String |
参数解释:操作系统名称和版本,如EulorOS 2.5。指定私有镜像时可不指定。 取值范围:不涉及。 |
|
imageId |
String |
参数解释:操作系统镜像id。 取值范围:不涉及。 |
|
imageType |
String |
参数解释:操作系统镜像类型。设置私有镜像时必须指定。默认为预置镜像,无需指定该字段。 取值范围:可选值如下:
|
|
autoMatch |
String |
参数解释:操作系统镜像自动匹配配置。当配置该参数时将会自动选择最优镜像,同时该参数会自动清空。 取值范围:操作系统名称和版本,如EulorOS 2.5。 |
状态码:400
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
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 |
错误码
请参见错误码。