Fix so Reviewed-by: Eotvos, Oliver <oliver.eotvos@t-systems.com> Co-authored-by: proposalbot <proposalbot@otc-service.com> Co-committed-by: proposalbot <proposalbot@otc-service.com>
53 KiB
- original_name
MigrateNode.html
Migrating a Node
Function
This API is used to migrate a node from a specified cluster to another cluster (both clusters must in the same VPC). Physical nodes of the ECS service in a CCE Turbo cluster cannot be migrated.
Note
The URL for cluster management is in the format of *https://Endpoint/uri, in whichuri* indicates the resource path, that is, the path for API access.
URI
PUT /api/v3/projects/{project_id}/clusters/{cluster_id}/nodes/operation/migrateto/{target_cluster_id}
Parameter | Mandatory | Type | Description |
---|---|---|---|
project_id | Yes | String | Project ID. For details about how to obtain the value, see How to Obtain Parameters in the API URI <cce_02_0271> . |
cluster_id | Yes | String | Cluster ID. For details about how to obtain the value, see How to Obtain Parameters in the API URI <cce_02_0271> . |
target_cluster_id | Yes | String | Cluster ID. For details about how to obtain the value, see How to Obtain Parameters in the API URI <cce_02_0271> . |
Request Parameters
Parameter | Mandatory | Type | Description |
---|---|---|---|
Content-Type | Yes | String | Message body type (format). |
X-Auth-Token | Yes | String | Requests for calling an API can be authenticated using either a token or AK/SK. If token-based authentication is used, this parameter is mandatory and must be set to a user token. For details, see API Usage Guidelines <cce_02_0344> . |
Parameter | Mandatory | Type | Description |
---|---|---|---|
apiVersion | No | String | API version. The value is fixed at v3. |
kind | No | String | API type. The value is fixed at MigrateNodesTask. |
spec | Yes | MigrateNodesSpec <migratenode__en-us_topic_0000001467833433_request_migratenodesspec> object |
Configuration data. |
Parameter | Mandatory | Type | Description |
---|---|---|---|
os | Yes | String | Operating system type, which must be accurate to the version number. When alpha.cce/NodeImageID is specified, the value of os must be the same as the OS of the custom image. |
extendParam | No | MigrateNodeExtendParam <migratenode__en-us_topic_0000001467833433_request_migratenodeextendparam> object |
Extended parameters for node migration. |
login | Yes | Login <migratenode__en-us_topic_0000001467833433_request_login> object |
Node login mode. |
runtime | No | Runtime <migratenode__request_runtime> object |
Container runtime configuration. |
nodes | Yes | Array of NodeItem <migratenode__en-us_topic_0000001467833433_request_nodeitem> objects |
List of nodes to be operated. |
Parameter | Mandatory | Type | Description |
---|---|---|---|
maxPods | No | Integer | Maximum number of pods that can be created on a node, including the default system pods. Value range: 16 to 256. This limit prevents the node from being overloaded of pods. |
DockerLVMConfigOverride | No | String | Docker data disk configuration item. (This parameter has been discarded. Use the storage field instead.) The disk type of the nodes to be migrated must be the same as that specified during node creation (that is, the value of diskType in DockerLVMConfigOverride must be the same as that specified during node creation). Ensure that the disk types of the nodes selected for a single API call are the same. Example default configuration:
The following fields are included:
|
alpha.cce/preInstall | No | String | Pre-installation script. Note The input value must be Base64-encoded. (Command: echo -n "Content to be encoded" | base64) |
alpha.cce/postInstall | No | String | Post-installation script. Note The input value must be Base64-encoded. (Command: echo -n "Content to be encoded" | base64) |
alpha.cce/NodeImageID | No | String | ID of the user image to run the target OS. When alpha.cce/NodeImageID is specified, the value of os must be the same as the OS of the custom image. |
Parameter | Mandatory | Type | Description |
---|---|---|---|
sshKey | No | String | Name of the key pair used for login. |
userPassword | No | String | Password used for node login. Note This field is not supported for the current version. |
Parameter | Mandatory | Type | Description |
---|---|---|---|
name | No | String | Container runtime:
Enumeration values:
|
Parameter | Mandatory | Type | Description |
---|---|---|---|
uid | Yes | String | Node ID. |
Response Parameters
Status code: 200
Parameter | Type | Description |
---|---|---|
apiVersion | String | API version. The value is fixed at v3. |
kind | String | API type. The value is fixed at MigrateNodesTask. |
spec | MigrateNodesSpec <migratenode__en-us_topic_0000001467833433_response_migratenodesspec> object |
Configuration data. |
status | TaskStatus <migratenode__en-us_topic_0000001467833433_response_taskstatus> object |
Job status. |
Parameter | Type | Description |
---|---|---|
os | String | Operating system type, which must be accurate to the version number. When alpha.cce/NodeImageID is specified, the value of os must be the same as the OS of the custom image. |
extendParam | MigrateNodeExtendParam <migratenode__en-us_topic_0000001467833433_response_migratenodeextendparam> object |
Extended parameters for node migration. |
login | Login <migratenode__en-us_topic_0000001467833433_response_login> object |
Node login mode. |
nodes | Array of NodeItem <migratenode__en-us_topic_0000001467833433_response_nodeitem> objects |
List of nodes to be operated. |
Parameter | Type | Description |
---|---|---|
maxPods | Integer | Maximum number of pods that can be created on a node, including the default system pods. Value range: 16 to 256. This limit prevents the node from being overloaded of pods. |
DockerLVMConfigOverride | String | Docker data disk configuration item. (This parameter has been discarded. Use the storage field instead.) The disk type of the nodes to be migrated must be the same as that specified during node creation (that is, the value of diskType in DockerLVMConfigOverride must be the same as that specified during node creation). Ensure that the disk types of the nodes selected for a single API call are the same. Example default configuration:
The following fields are included:
|
alpha.cce/preInstall | String | Pre-installation script. Note The input value must be Base64-encoded. (Command: echo -n "Content to be encoded" | base64) |
alpha.cce/postInstall | String | Post-installation script. Note The input value must be Base64-encoded. (Command: echo -n "Content to be encoded" | base64) |
alpha.cce/NodeImageID | String | ID of the user image to run the target OS. When alpha.cce/NodeImageID is specified, the value of os must be the same as the OS of the custom image. |
Parameter | Type | Description |
---|---|---|
sshKey | String | Name of the key pair used for login. |
userPassword | String | Password used for node login. Note This field is not supported for the current version. |
Parameter | Type | Description |
---|---|---|
uid | String | Node ID. |
Parameter | Type | Description |
---|---|---|
jobID | String | Job ID, which is used by the caller to query the job progress. |
Example Requests
Migrating a Node
PUT /api/v3/projects/{project_id}/clusters/{cluster_id}/nodes/operation/migrateto/{target_cluster_id} { "spec" : { "os" : "EulerOS 2.5", "login" : { "sshKey" : "KeyPair-001" }, "nodes" : [ { "uid" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" }, { "uid" : "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy" } ] } }
Migrating a node using a specified user image ID
PUT /api/v3/projects/{project_id}/clusters/{cluster_id}/nodes/operation/migrateto/{target_cluster_id} { "spec" : { "os" : "EulerOS 2.5", "extendParam" : { "alpha.cce/NodeImageID" : "cc697ad7-9563-11e8-8ea7-0255ac106311" }, "login" : { "sshKey" : "KeyPair-001" }, "nodes" : [ { "uid" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" }, { "uid" : "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy" } ] } }
Example Responses
Status code: 200
The job for migrating a node from a specified cluster to another cluster is successfully delivered.
{
"spec" : {
"os" : "EulerOS 2.5",
"login" : {
"sshKey" : "KeyPair-001"
},
"nodes" : [ {
"uid" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}, {
"uid" : "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"
} ]
},
"status" : {
"jobID" : "2ec9b78d-9368-46f3-8f29-d1a95622a568"
}
}
Status Codes
Status Code | Description |
---|---|
200 | The job for migrating a node from a specified cluster to another cluster is successfully delivered. |
Error Codes
See Error Codes <cce_02_0250>
.