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).
The URL for cluster management is in the format of **https://Endpoint/uri, in which uri 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. |
cluster_id |
Yes |
String |
Cluster ID. For details about how to obtain the value, see How to Obtain Parameters in the API URI. |
target_cluster_id |
Yes |
String |
Cluster ID. For details about how to obtain the value, see How to Obtain Parameters in the API URI. |
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 Obtaining a User Token. |
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 object |
Configuration data. |
status |
No |
TaskStatus object |
Job status. |
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 object |
Extended parameters for node migration. |
login |
Yes |
Login object |
Node login mode. |
runtime |
No |
Runtime object |
Container runtime. |
nodes |
Yes |
Array of 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: "DockerLVMConfigOverride":"dockerThinpool=vgpaas/90%VG;kubernetesLV=vgpaas/10%VG;diskType=evs;lvType=linear" 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. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
username |
No |
String |
Login account. Defaults to root. |
password |
Yes |
String |
If a username and a password are used to create a node, this field is shielded in the response body. A password must meet the following complexity requirements:
|
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
name |
No |
String |
Container runtime:
|
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 object |
Configuration data. |
status |
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 object |
Extended parameters for node migration. |
login |
Login object |
Node login mode. |
runtime |
Runtime object |
Container runtime. |
nodes |
Array of 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: "DockerLVMConfigOverride":"dockerThinpool=vgpaas/90%VG;kubernetesLV=vgpaas/10%VG;diskType=evs;lvType=linear" 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 |
---|---|---|
username |
String |
Login account. Defaults to root. |
password |
String |
If a username and a password are used to create a node, this field is shielded in the response body. A password must meet the following complexity requirements:
|
Parameter |
Type |
Description |
---|---|---|
name |
String |
Container runtime:
|
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" }, "runtime" : { "name" : "docker" }, "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.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot