文档首页/ AI开发平台ModelArts/ API参考/ 资源管理/ 批量迁移节点 - BatchMigratePoolNodes
更新时间:2026-01-08 GMT+08:00
分享

批量迁移节点 - BatchMigratePoolNodes

功能介绍

批量迁移节点接口用于在资源池之间批量迁移节点,将节点从一个资源池迁移到另一个资源池。该接口适用于以下场景:当资源池的节点分布不均衡、需要进行集群维护或业务扩展时,用户可通过此接口将指定节点从一个资源池迁移到另一个资源池。使用该接口的前提条件是资源池中至少包含两个节点,且目标资源池具备足够的资源容量(如IP地址等)以接收迁移节点。若资源池只有一个节点、目标集群资源不足、节点状态不支持迁移或用户无权限操作,接口将返回相应的错误信息。

调试

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

授权信息

账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。

  • 如果使用角色与策略授权,具体权限要求请参见权限和授权项
  • 如果使用身份策略授权,当前API调用无需身份策略权限。

URI

POST /v2/{project_id}/pools/{pool_name}/nodes/batch-migrate

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

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

约束限制:1 - 64字符,字母、数字和中划线。

取值范围:不涉及。

默认取值:不涉及。

pool_name

String

参数解释:资源池名称。该字段取自资源池metadata.name字段的值。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

请求参数

表2 请求Body参数

参数

是否必选

参数类型

描述

migrateNodeNames

Array of strings

参数解释:待迁移的节点名称列表。

约束限制:不涉及。

fromClusterName

String

参数解释:迁移起始集群名称。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

toClusterName

String

参数解释:迁移目标集群名称。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

toPoolName

String

参数解释:迁移目标资源池名称。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

resourceSpec

MigrateResourceSpec object

参数解释:迁移节点在目标资源池中配置信息。节点跨资源池迁移时参数必填。

约束限制:不涉及。

表3 MigrateResourceSpec

参数

是否必选

参数类型

描述

flavor

String

参数解释:资源规格名称,跨资源池迁移时该参数必传。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

creatingStep

CreatingStep object

参数解释:资源步长信息。整柜或超节点迁移时,需要传递步长信息。

约束限制:不涉及。

nodePool

String

参数解释:资源迁移的目标节点池名称。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

rootVolume

RootVolume object

参数解释:目标节点池的系统盘信息,新建节点池时有效。

约束限制:不涉及。

dataVolumes

Array of DataVolumeItem objects

参数解释:目标节点池的数据盘盘信息,新建节点池时有效。

约束限制:不涉及。

volumeGroupConfigs

Array of VolumeGroupConfig objects

参数解释:磁盘高级配置。存在自定义数据盘时必须指定对应的高级配置,新建节点池时有效。

约束限制:不涉及。

labels

Map<String,String>

参数解释:k8s标签,格式为key/value键值对,非特权池不能指定。新建节点池时有效。

约束限制:不涉及。

taints

Array of Taints objects

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

约束限制:不涉及。

tags

Array of UserTags objects

参数解释:资源标签。新建节点池时有效。

约束限制:不涉及。

network

NodeNetwork object

参数解释:网络配置,非特权池不能指定。新建节点池时有效。

约束限制:不涉及。

extendParams

ResourceExtendParams object

参数解释:自定义配置,比如设置节点dockerSize。新建节点池时有效。

约束限制:不涉及。

表4 CreatingStep

参数

是否必选

参数类型

描述

step

Integer

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

取值范围:不涉及。

type

String

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

取值范围:可选值如下:

  • hyperinstance:超节点。

表5 RootVolume

参数

是否必选

参数类型

描述

volumeType

String

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

取值范围:可选值如下:

  • SSD:超高IO硬盘

  • GPSSD:通用型SSD

  • SAS:高IO硬盘

size

String

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

取值范围:不涉及。

表6 DataVolumeItem

参数

是否必选

参数类型

描述

volumeType

String

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

取值范围:可选值如下:

  • SSD:超高IO硬盘

  • GPSSD:通用型SSD

  • SAS:高IO硬盘

size

String

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

取值范围:不涉及。

count

Integer

参数解释:磁盘个数。

取值范围:不涉及。

extendParams

VolumeExtendParams object

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

表7 VolumeExtendParams

参数

是否必选

参数类型

描述

volumeGroup

String

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

取值范围:可选项如下:

  • vgpaas:容器盘。

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

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

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

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

表8 VolumeGroupConfig

参数

是否必选

参数类型

描述

volumeGroup

String

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

取值范围:不涉及。

dockerThinPool

Integer

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

取值范围:不涉及。

lvmConfig

LvmConfig object

参数解释:LVM配置管理。

types

Array of strings

参数解释:存储类型。可选项如下:

  • volume:云硬盘。当指定dataVolumes时,该值为缺省值。

  • local:本地盘。使用本地盘必须指定该字段。

表9 LvmConfig

参数

是否必选

参数类型

描述

lvType

String

参数解释:LVM写入模式。

取值范围:可选项如下:

  • linear:线性模式。

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

path

String

参数解释:磁盘挂载路径。仅在用户配置中生效。支持包含:数字、大小写字母、点、中划线、下划线的绝对路径。

取值范围:不涉及。

表10 Taints

参数

是否必选

参数类型

描述

key

String

参数解释:键。

取值范围:不涉及。

value

String

参数解释:值。

取值范围:不涉及。

effect

String

参数解释:作用效果。

取值范围:不涉及。

表11 UserTags

参数

是否必选

参数类型

描述

key

String

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

取值范围:不涉及。

value

String

参数解释:值。

取值范围:不涉及。

表12 NodeNetwork

参数

是否必选

参数类型

描述

vpc

String

参数解释:vpc id。

取值范围:不涉及。

subnet

String

参数解释:子网id。

取值范围:不涉及。

securityGroups

Array of strings

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

表13 ResourceExtendParams

参数

是否必选

参数类型

描述

dockerBaseSize

String

参数解释:节点的容器镜像空间大小。

取值范围:可选值如下:

  • 指定大小:dockerBaseSize的大小范围默认为50-500,但实际上限受到节点的容器数据盘大小约束。

  • 不限制:dockerBaseSize="0",表示不限制容器镜像空间大小。

postInstall

String

参数解释:安装后执行脚本,输入的值需要经过Base64编码。

取值范围:不涉及。

runtime

String

参数解释:容器运行时。

取值范围:可选值如下:

  • docker:容器运行时,是目前最常用的容器化引擎,基于容器镜像创建和管理容器实例。

  • containerd:工业级的容器运行时,专注于容器的生命周期管理,是 Docker 底层核心组件之一,也可独立部署使用。

labelPolicyOnExistingNodes

String

参数解释:存量节点k8s标签更新策略,值为空时默认更新存量节点。

取值范围:可选值如下:

  • refresh:更新。

  • ignore:不更新。

taintPolicyOnExistingNodes

String

参数解释:存量节点k8s污点更新策略,值为空时默认更新存量节点。

取值范围:可选值如下:

  • refresh:更新。

  • ignore:不更新。

tagPolicyOnExistingNodes

String

参数解释:存量节点资源标签更新策略,值为空时默认更新存量节点。

取值范围:可选值如下:

  • refresh:更新。

  • ignore:不更新。

XParameterPlaneSubnet

String

参数解释:跨物理集群之间进行参数面数据传输使用的子网id。不可与节点子网和容器子网重复。

取值范围:不涉及。

nodePoolName

String

参数解释:用户指定的节点池名称。最小长度为2,最大长度为50的小写字母、中划线-、数字组成,由小写字母开头,不能以-,-default结尾。

取值范围:不涉及

响应参数

状态码:200

表14 响应Body参数

参数

参数类型

描述

job_id

String

参数解释:异步任务的ID。

取值范围:不涉及。

状态码:404

表15 响应Body参数

参数

参数类型

描述

error_code

String

参数解释:ModelArts错误码。

取值范围:不涉及。

error_msg

String

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

取值范围:不涉及。

请求示例

POST /v2/{project_id}/pools/{pool_name}/nodes/batch-migrate

{
  "migrateNodeNames" : [ "os-node-created-zrxm7" ],
  "fromClusterName" : "lite-cluster-1dc682c4-e04d-11ee-bda6-0255ac1001ba",
  "toClusterName" : "lite-cluster-d3a65087-38e4-11ef-a12c-0255ac100b03",
  "toPoolName" : "pool-9d3f-6f5da086876d4cd084d36f8bd3346036",
  "resourceSpec" : {
    "flavor" : "modelarts.vm.2u4g"
  }
}

响应示例

状态码:200

OK。

{
  "job_id" : "66798666-6778-443f-9f8a-56c9ea6d719c"
}

状态码:404

Not Found。

{
  "error_code" : "ModelArts.50015001",
  "error_msg" : "pool not found"
}

状态码

状态码

描述

200

OK。

404

Not Found。

错误码

请参见错误码

相关文档