批量迁移节点 - 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
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
project_id |
是 |
String |
参数解释:用户项目ID。获取方法请参见获取项目ID和名称。 约束限制:1 - 64字符,字母、数字和中划线。 取值范围:不涉及。 默认取值:不涉及。 |
|
pool_name |
是 |
String |
参数解释:资源池名称。该字段取自资源池metadata.name字段的值。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
请求参数
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
migrateNodeNames |
否 |
Array of strings |
参数解释:待迁移的节点名称列表。 约束限制:不涉及。 |
|
fromClusterName |
是 |
String |
参数解释:迁移起始集群名称。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
|
toClusterName |
是 |
String |
参数解释:迁移目标集群名称。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
|
toPoolName |
否 |
String |
参数解释:迁移目标资源池名称。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
|
resourceSpec |
否 |
MigrateResourceSpec object |
参数解释:迁移节点在目标资源池中配置信息。节点跨资源池迁移时参数必填。 约束限制:不涉及。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
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。新建节点池时有效。 约束限制:不涉及。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
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 |
参数解释:磁盘挂载路径。仅在用户配置中生效。支持包含:数字、大小写字母、点、中划线、下划线的绝对路径。 取值范围:不涉及。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
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结尾。 取值范围:不涉及 |
响应参数
状态码:200
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
job_id |
String |
参数解释:异步任务的ID。 取值范围:不涉及。 |
状态码:404
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
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。 |
错误码
请参见错误码。