Migración de un nodo
Función
Esta API se utiliza para migrar un nodo de un clúster especificado a otro clúster.
El URL para la gestión de clústeres tiene el formato https://Endpoint/uri. En el URL, uri indica la ruta del recurso, es decir, la ruta para el acceso a la API.
URI
PUT /api/v3/projects/{project_id}/clusters/{cluster_id}/nodes/operation/migrateto/{target_cluster_id}
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
project_id |
Sí |
String |
ID del proyecto. Para obtener más información sobre cómo obtener el valor, consulta Cómo obtener parámetros en el URI de API. |
cluster_id |
Sí |
String |
ID del clúster. Para obtener más información sobre cómo obtener el valor, consulta Cómo obtener parámetros en el URI de API. |
target_cluster_id |
Sí |
String |
ID del clúster. Para obtener más información sobre cómo obtener el valor, consulta Cómo obtener parámetros en el URI de API. |
Parámetros de solicitud
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
Content-Type |
Sí |
String |
Tipo de cuerpo del mensaje (formato). |
X-Auth-Token |
Sí |
String |
Las solicitudes para invocar a una API pueden autenticarse usando un token o AK/SK. Si se utiliza la autenticación basada en token, este parámetro es obligatorio y se debe establecer en un token de usuario. Para obtener más información, consulte Obtención de un token de usuario. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
apiVersion |
No |
String |
Versión de la API. El valor se fija en v3. |
kind |
No |
String |
Tipo de la API. El valor se fija en MigrateNodesTask. |
spec |
Sí |
Objeto de MigrateNodesSpec |
Datos de configuración. |
status |
No |
Objeto de TaskStatus |
Estado del trabajo. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
os |
Sí |
String |
Tipo del sistema operativo, que debe ser exacto al número de versión. Cuando se especifica alpha.cce/NodeImageID, el valor de os debe ser el mismo que el SO de la imagen personalizada. |
extendParam |
No |
Objeto de MigrateNodeExtendParam |
Parámetros extendidos para la migración de nodos. |
login |
Sí |
Objeto de Login |
Modo de inicio de sesión de nodo. Se debe usar el par de claves o la contraseña para iniciar sesión. |
nodes |
Sí |
Matriz de objetos de NodeItem |
Lista de nodos a operar. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
maxPods |
No |
Integer |
Número máximo de pods que se pueden crear en un nodo, incluidos los pods del sistema predeterminados. Rango de valores: 16 a 256. Este límite impide que el nodo se sobrecargue de pods. |
DockerLVMConfigOverride |
No |
String |
Configuraciones de disco de datos de Docker. El tipo de disco de los nodos que se van a migrar debe ser el mismo que el especificado durante la creación del nodo (es decir, el valor de diskType en DockerLVMConfigOverride debe ser el mismo que el especificado durante la creación del nodo). Asegúrese de que los tipos de disco de los nodos seleccionados para una sola invocación a la API son los mismos. Ejemplo de configuración predeterminada: "DockerLVMConfigOverride":"dockerThinpool=vgpaas/90%VG;kubernetesLV=vgpaas/10%VG;diskType=evs;lvType=linear" Se incluyen los siguientes campos:
|
alpha.cce/preInstall |
No |
String |
Secuencia de comandos de preinstalación.
NOTA:
El valor de entrada debe estar codificado en Base64. (Comando: echo -n "Content to be encoded" | base64) |
alpha.cce/postInstall |
No |
String |
Secuencia de comandos posterior a la instalación.
NOTA:
El valor de entrada debe estar codificado en Base64. (Comando: echo -n "Content to be encoded" | base64) |
alpha.cce/NodeImageID |
No |
String |
ID de la imagen de usuario para ejecutar el SO de destino. Cuando se especifica alpha.cce/NodeImageID, el valor de os debe ser el mismo que el SO de la imagen personalizada. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
sshKey |
No |
String |
Nombre del par de claves utilizado para el inicio de sesión. |
userPassword |
No |
Objeto de UserPassword |
Contraseña utilizada para el inicio de sesión del nodo. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
username |
No |
String |
La cuenta para iniciar sesión en. El valor predeterminado es root. |
password |
Sí |
String |
Si se utiliza un nombre de usuario y una contraseña para crear un nodo, este campo está protegido en el cuerpo de la respuesta. Una contraseña debe cumplir con los siguientes requisitos de complejidad:
|
Parámetros de respuesta
Código de estado: 200
Parámetro |
Tipo |
Descripción |
---|---|---|
apiVersion |
String |
Versión de la API. El valor se fija en v3. |
kind |
String |
Tipo de la API. El valor se fija en MigrateNodesTask. |
spec |
Objeto de MigrateNodesSpec |
Datos de configuración. |
status |
Objeto de TaskStatus |
Estado del trabajo. |
Parámetro |
Tipo |
Descripción |
---|---|---|
os |
String |
Tipo del sistema operativo, que debe ser exacto al número de versión. Cuando se especifica alpha.cce/NodeImageID, el valor de os debe ser el mismo que el SO de la imagen personalizada. |
extendParam |
Objeto de MigrateNodeExtendParam |
Parámetros extendidos para la migración de nodos. |
login |
Objeto de Login |
Modo de inicio de sesión de nodo. Se debe usar el par de claves o la contraseña para iniciar sesión. |
nodes |
Matriz de objetos de NodeItem |
Lista de nodos a operar. |
Parámetro |
Tipo |
Descripción |
---|---|---|
maxPods |
Integer |
Número máximo de pods que se pueden crear en un nodo, incluidos los pods del sistema predeterminados. Rango de valores: 16 a 256. Este límite impide que el nodo se sobrecargue de pods. |
DockerLVMConfigOverride |
String |
Configuraciones de disco de datos de Docker. El tipo de disco de los nodos que se van a migrar debe ser el mismo que el especificado durante la creación del nodo (es decir, el valor de diskType en DockerLVMConfigOverride debe ser el mismo que el especificado durante la creación del nodo). Asegúrese de que los tipos de disco de los nodos seleccionados para una sola invocación a la API son los mismos. Ejemplo de configuración predeterminada: "DockerLVMConfigOverride":"dockerThinpool=vgpaas/90%VG;kubernetesLV=vgpaas/10%VG;diskType=evs;lvType=linear" Se incluyen los siguientes campos:
|
alpha.cce/preInstall |
String |
Secuencia de comandos de preinstalación.
NOTA:
El valor de entrada debe estar codificado en Base64. (Comando: echo -n "Content to be encoded" | base64) |
alpha.cce/postInstall |
String |
Secuencia de comandos posterior a la instalación.
NOTA:
El valor de entrada debe estar codificado en Base64. (Comando: echo -n "Content to be encoded" | base64) |
alpha.cce/NodeImageID |
String |
ID de la imagen de usuario para ejecutar el SO de destino. Cuando se especifica alpha.cce/NodeImageID, el valor de os debe ser el mismo que el SO de la imagen personalizada. |
Parámetro |
Tipo |
Descripción |
---|---|---|
sshKey |
String |
Nombre del par de claves utilizado para el inicio de sesión. |
userPassword |
Objeto de UserPassword |
Contraseña utilizada para el inicio de sesión del nodo. |
Parámetro |
Tipo |
Descripción |
---|---|---|
username |
String |
La cuenta para iniciar sesión en. El valor predeterminado es root. |
password |
String |
Si se utiliza un nombre de usuario y una contraseña para crear un nodo, este campo está protegido en el cuerpo de la respuesta. Una contraseña debe cumplir con los siguientes requisitos de complejidad:
|
Ejemplo de las solicitudes
-
Migración de un nodo
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" } ] } }
-
Migración de un nodo mediante un ID de imagen especificado del usuario
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" } ] } }
Ejemplo de las respuestas
Código de estado: 200
El trabajo para migrar un nodo de un clúster especificado a otro clúster se entrega correctamente.
{ "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" } }
Códigos de estado
Código de estado |
Descripción |
---|---|
200 |
El trabajo para migrar un nodo de un clúster especificado a otro clúster se entrega correctamente. |
Códigos de error
Consulte Códigos de error.