proposalbot 85126a07b8 Changes to cce_api-ref from docs/doc-exports#771 (Fix some link problems
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>
2023-06-13 06:10:56 +00:00

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}

Table 1 Path Parameters
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

Table 2 Request header 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>.
Table 3 Request body parameters
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.
Table 4 MigrateNodesSpec
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.
Table 5 MigrateNodeExtendParam
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:

  • userLV (optional): size of the user space, for example, vgpaas/20%VG.
  • userPath (optional): mount path of the user space, for example, /home/wqt-test.
  • diskType: disk type. Currently, only evs, hdd, and ssd are supported.
  • lvType: type of a logic volume. The value can be linear or striped.
  • dockerThinpool: Docker space size, for example, vgpaas/60%VG.
  • kubernetesLV: kubelet space size, for example, vgpaas/20%VG.
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.
Table 6 Login
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.

Table 7 Runtime
Parameter Mandatory Type Description
name No String

Container runtime:

  • Clusters of v1.25 or earlier: docker.
  • Clusters of v1.25 or later: Container runtime varies with the OS. For nodes running EulerOS 2.5, the default container runtime is docker. For nodes running other OSs, the default container runtime is containerd.

Enumeration values:

  • docker
  • containerd
Table 8 NodeItem
Parameter Mandatory Type Description
uid Yes String Node ID.

Response Parameters

Status code: 200

Table 9 Response body parameters
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.
Table 10 MigrateNodesSpec
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.
Table 11 MigrateNodeExtendParam
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:

  • userLV (optional): size of the user space, for example, vgpaas/20%VG.
  • userPath (optional): mount path of the user space, for example, /home/wqt-test.
  • diskType: disk type. Currently, only evs, hdd, and ssd are supported.
  • lvType: type of a logic volume. The value can be linear or striped.
  • dockerThinpool: Docker space size, for example, vgpaas/60%VG.
  • kubernetesLV: kubelet space size, for example, vgpaas/20%VG.
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.
Table 12 Login
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.

Table 13 NodeItem
Parameter Type Description
uid String Node ID.
Table 14 TaskStatus
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>.