Migração de um nó
Função
Essa API é usada para migrar um nó de um cluster especificado para outro cluster. O nó pode ser migrado apenas entre diferentes clusters na mesma VPC e projeto, e os tipos de cluster antes e depois da migração devem ser os mesmos. Os nós do BMS em um cluster do CCE Turbo não podem ser migrados.

O URL para gerenciamento de cluster está no formato https://Endpoint/uri, em que uri indica o caminho do recurso para acesso à API.
URI
PUT /api/v3/projects/{project_id}/clusters/{cluster_id}/nodes/operation/migrateto/{target_cluster_id}
Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
project_id | Sim | String | ID do projeto. Para obter detalhes sobre como obter o valor, consulte Como obter parâmetros no URI da API. |
cluster_id | Sim | String | ID do cluster. Para obter detalhes sobre como obter o valor, consulte Como obter parâmetros no URI da API. |
target_cluster_id | Sim | String | ID do cluster. Para obter detalhes sobre como obter o valor, consulte Como obter parâmetros no URI da API. |
Parâmetros de solicitação
Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
Content-Type | Sim | String | Tipo de corpo da mensagem (formato). |
X-Auth-Token | Sim | String | As solicitações para chamar uma API podem ser autenticadas usando um token ou AK/SK. Se a autenticação baseada em token for usada, esse parâmetro é obrigatório e deve ser definido como um token de usuário. Para obter detalhes, consulte Obtenção de um token de usuário. |
Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
apiVersion | Não | String | Versão da API. O valor é fixado em v3. |
kind | Não | String | Tipo de API. O valor é fixado em MigrateNodesTask. |
spec | Sim | MigrateNodesSpec object | Dados de configuração. |
status | Não | TaskStatus object | Status da tarefa. |
Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
os | Sim | String | Tipo de sistema operacional, que deve ser preciso para o número da versão. Quando alpha.cce/NodeImageID é especificado, o valor de os deve ser o mesmo que o SO da imagem personalizada. |
extendParam | Não | MigrateNodeExtendParam object | Parâmetros estendidos para migração de nó. |
login | Sim | Login object | Modo de logon do nó. O par de chaves ou a senha devem ser usados para o logon. |
runtime | Não | Runtime object | Tempo de execução do contêiner |
nodes | Sim | Array of NodeItem objects | Lista de nós a serem operados. |
Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
maxPods | Não | Integer | Número máximo de pods que podem ser executados em um nó, incluindo os pods padrão do sistema. Intervalo de valores: 16 a 256. Esse limite impede que o nó seja sobrecarregado de pods. |
DockerLVMConfigOverride | Não | String | Item de configuração do disco de dados do Docker. (Este parâmetro foi descartado. Use o campo storage em vez disso.) O tipo de disco dos nós a serem migrados deve ser o mesmo especificado durante a criação do nó (ou seja, o valor de diskType em DockerLVMConfigOverride deve ser o mesmo especificado durante a criação do nó). Certifique-se de que os tipos de disco dos nós selecionados para uma única chamada de API sejam os mesmos. Exemplo de configuração padrão: "DockerLVMConfigOverride":"dockerThinpool=vgpaas/90%VG;kubernetesLV=vgpaas/10%VG;diskType=evs;lvType=linear" Os seguintes campos estão incluídos:
|
alpha.cce/preInstall | Não | String | Script de pré-instalação. NOTA: O valor de entrada deve ser codificado em Base64. (Comando: echo -n "Content to be encoded" | base64) |
alpha.cce/postInstall | Não | String | Script de pós-instalação. NOTA: O valor de entrada deve ser codificado em Base64. (Comando: echo -n "Content to be encoded" | base64) |
alpha.cce/NodeImageID | Não | String | ID da imagem do usuário para executar o SO de destino. Quando alpha.cce/NodeImageID é especificado, o valor de os deve ser o mesmo que o SO da imagem personalizada. |
Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
sshKey | Não | String | Nome do par de chaves usado para logon. |
userPassword | Não | UserPassword object | Senha usada para logon do nó. |
Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
username | Não | String | Conta de logon. O padrão é root. |
password | Sim | String | Se um nome de usuário e uma senha forem usados para criar um nó, esse campo será blindado no corpo da resposta. Uma senha deve atender aos seguintes requisitos de complexidade:
|
Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
name | Não | String | Tempo de execução do contêiner. Valor padrão:
|
Parâmetros de resposta
Código de status: 200
Parâmetro | Tipo | Descrição |
|---|---|---|
apiVersion | String | Versão da API. O valor é fixado em v3. |
kind | String | Tipo de API. O valor é fixado em MigrateNodesTask. |
spec | MigrateNodesSpec object | Dados de configuração. |
status | TaskStatus object | Status da tarefa. |
Parâmetro | Tipo | Descrição |
|---|---|---|
os | String | Tipo de sistema operacional, que deve ser preciso para o número da versão. Quando alpha.cce/NodeImageID é especificado, o valor de os deve ser o mesmo que o SO da imagem personalizada. |
extendParam | MigrateNodeExtendParam object | Parâmetros estendidos para migração de nó. |
login | Login object | Modo de logon do nó. O par de chaves ou a senha devem ser usados para o logon. |
runtime | Runtime object | Tempo de execução do contêiner |
nodes | Array of NodeItem objects | Lista de nós a serem operados. |
Parâmetro | Tipo | Descrição |
|---|---|---|
maxPods | Integer | Número máximo de pods que podem ser executados em um nó, incluindo os pods padrão do sistema. Intervalo de valores: 16 a 256. Esse limite impede que o nó seja sobrecarregado de pods. |
DockerLVMConfigOverride | String | Item de configuração do disco de dados do Docker. (Este parâmetro foi descartado. Use o campo storage em vez disso.) O tipo de disco dos nós a serem migrados deve ser o mesmo especificado durante a criação do nó (ou seja, o valor de diskType em DockerLVMConfigOverride deve ser o mesmo especificado durante a criação do nó). Certifique-se de que os tipos de disco dos nós selecionados para uma única chamada de API sejam os mesmos. Exemplo de configuração padrão: "DockerLVMConfigOverride":"dockerThinpool=vgpaas/90%VG;kubernetesLV=vgpaas/10%VG;diskType=evs;lvType=linear" Os seguintes campos estão incluídos:
|
alpha.cce/preInstall | String | Script de pré-instalação. NOTA: O valor de entrada deve ser codificado em Base64. (Comando: echo -n "Content to be encoded" | base64) |
alpha.cce/postInstall | String | Script de pós-instalação. NOTA: O valor de entrada deve ser codificado em Base64. (Comando: echo -n "Content to be encoded" | base64) |
alpha.cce/NodeImageID | String | ID da imagem do usuário para executar o SO de destino. Quando alpha.cce/NodeImageID é especificado, o valor de os deve ser o mesmo que o SO da imagem personalizada. |
Parâmetro | Tipo | Descrição |
|---|---|---|
sshKey | String | Nome do par de chaves usado para logon. |
userPassword | UserPassword object | Senha usada para logon do nó. |
Parâmetro | Tipo | Descrição |
|---|---|---|
username | String | Conta de logon. O padrão é root. |
password | String | Se um nome de usuário e uma senha forem usados para criar um nó, esse campo será blindado no corpo da resposta. Uma senha deve atender aos seguintes requisitos de complexidade:
|
Parâmetro | Tipo | Descrição |
|---|---|---|
name | String | Tempo de execução do contêiner. Valor padrão:
|
Exemplo de solicitações
Migre um nó executando EulerOS 2.5 para outro cluster.
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" } ] } }Migre um nó executando EulerOS 2.5 e criado usando um ID de imagem especificado para outro cluster.
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" } ] } }
Exemplo de respostas
Código de status: 200
A tarefa para migrar um nó de um cluster especificado para outro cluster é entregue com êxito.
{
"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"
}
} Códigos de status
Código de status | Descrição |
|---|---|
200 | A tarefa para migrar um nó de um cluster especificado para outro cluster é entregue com êxito. |
Códigos de erro
Consulte Códigos de erro.

