Ir al contenido principal

Despliegues por lotes

La función de despliegue por lotes permite desplegar varios servidores a la vez mediante la API de Equinix Metal™. Esto es útil si aún no utiliza una herramienta como Terraform, que incluye su propio método para manejar grandes despliegues. Los despliegues por lotes son para desplegar servidores en el mismo metro, con el mismo plan de servidores y el mismo sistema operativo. Si va a desplegar una gran cantidad de servidores, le recomendamos comprobar los niveles de capacidad en su Metro deseado antes de ejecutar un despliegue por lotes.

Realización de una implantación por lotes

Para realizar un despliegue por lotes, envíe una solicitud POST al punto final /projects/{id}/devices/batch. Envíe sus requisitos de lote como el objeto JSON batches en el cuerpo de la solicitud.

curl -X POST \
-H "Content-Type: application/json" \
-H "X-Auth-Token: <API_TOKEN>" \
"https://api.equinix.com/metal/v1/projects/{id}/devices/batch" \
-d '{
"batches": [
{
"metro": "<metro_code>",
"plan": "<plan_code>",
"operating_system": "<os_slug>",
"quantity": <number_of_servers>
}
]
}'

Parámetros corporales:

  • metro (required) - The Metro code representing the Metro where you are deploying servers.
  • plan (required) - The plan code that represents the server type you are deploying.
  • operating_system (required) - The slug representing which operating system to install on to your servers.
  • quantity (required) - An integer specifying how many servers to deploy in the batch.

Todos los campos opcionales que están disponibles cuando aprovisiona servidores individuales también están disponibles cuando está creando un despliegue por lotes. Consulte la Referencia API para obtener una lista completa.

El despliegue de un lote es un proceso asíncrono, por lo que la respuesta incluye el ID del lote, el estado y las marcas de tiempo. Puede utilizar el ID de lote para comprobar el estado mientras se ejecuta el proceso.

{
"batches":[
{
"id":"34876707-a2e5-4949-8825-5b4dfd541db8",
"error_messages":[],
"quantity":2,
"state":"queued",
"created_at":"2020-10-06T18:29:34Z",
"updated_at":"2020-10-06T18:29:34Z",
"devices":[],
"project":{"href":"/metal/v1/projects/<project_id>"}
}
]
}

Especificación de nombres de host

Si desea asignar un nombre a sus servidores, utilice hostname o "hostnames en su solicitud.

Para nombrar sus servidores secuencialmente, utilice el parámetro hostname en su objeto batches y cree un nombre de host parseable con {{index}}. Por ejemplo, "dev.server{{index}}" donde {{index}} se sustituirá por un número entero en un orden lógico (1, 2, 3,...) durante el aprovisionamiento del servidor.

'{
"batches": [
{
"metro": "<metro_code>",
"plan": "<plan_code>",
"operating_system": "<os_slug>",
"quantity": <number_of_servers>,
"hostname": "dev.server{{index}}"
}
]
}'

Una vez que el lote termina de desplegarse, los servidores se denominan dev.server1, dev.server2 y dev.server3.

Para nombrar cada servidor con un nombre específico, utilice el parámetro hostnames en su objeto batches y pásele una matriz de nombres de host.

'{
"batches": [
{
"metro": "<metro_code>",
"plan": "<server_type>",
"operating_system": "<os_code>",
"quantity": <number_of_servers>,
"hostnames": ["dev.server1","dev.server2","dev.server3"]
}
]
}'

No es necesario especificar nombres de host para sus servidores. Si no proporciona ni hostname ni hostnames, los servidores se aprovisionarán con nombres autogenerados. Puede cambiar los nombres de host de los servidores después del aprovisionamiento.

Comprobación del estado de la implantación por lotes

Para comprobar el estado de sus despliegues por lotes, envíe una solicitud GET al punto final /batches/{id}. El ID del lote forma parte de la respuesta cuando crea un despliegue por lotes.

curl -X GET -H 'X-Auth-Token: <API_TOKEN>' "https://api.equinix.com/metal/v1/batches/{id}"

Existen cuatro estados para las solicitudes por lotes.

StateDescription
en colaUn despliegue por lotes comienza como 'en cola' mientras se valida su solicitud y se comprueba la capacidad de ubicación.en_progreso
completedCuando los servidores estén disponibles, y comiencen a aprovisionarse para atender su solicitud, pasará a completed.failed

Recuperar todos los lotes de un proyecto

Para listar todos sus despliegues por lotes en un proyecto, envíe una solicitud GET al punto final /projects/{id}/batches.

curl -X GET -H "X-Auth-Token: API-TOKEN" "https://api.equinix.com/metal/v1/projects/{id}/batches"
nota
  • Si normalmente utiliza la consola Equinix Metal para aprovisionar servidores, la respuesta contendrá más lotes de los esperados. Esto se debe a que la consola Equinix Metal crea un lote de una sola instancia ("quantity": 1) para cada despliegue de servidor. Si crea instancias de servidor a través del /devices punto final de la API, no se considera un lote, por lo que no aparecerá en la lista devuelta por este punto final.
¿Fue útil esta página?