Datos del usuario
Al aprovisionar un servidor en Equinix Metal™ tiene la opción de incluir Datos de usuario, que se pueden utilizar para realizar diversas tareas de automatización una vez que el servidor está listo, como ejecutar secuencias de comandos comunes, instalar paquetes o activar otros procesos de configuración más avanzados.
Utilización
Los datos de usuario de Equinix Metal se basan en [proyecto de código abierto cloudbase-init y admiten oficialmente dos formatos de datos de usuario.
Scripts de datos de usuario
Los scripts sirven para ejecutar secuencias de comandos shell y comienzan por #! para [Linux shell o #ps1 para [Windows Powershell.
- Debian/Ubuntu
- Windows
#!/bin/bash
export DEBIAN_FRONTEND=noninteractive
apt-get update && apt-get upgrade -y
apt-get install nginx -y
#ps1
New-Item C:/Users/Admin test.txt
Set-Content C:/Users/Admin/test.txt "Hello world"
$password = ConvertTo-SecureString "P@55w0rd!" -AsPlainText -Force
New-LocalUser -Name "user01" -Password $password
Datos de configuración de la nube
[Cloud Config data debe utilizar una sintaxis yaml válida y comenzar por #cloud-config
#cloud-config
package_upgrade: true
packages:
- nginx
La compatibilidad con formatos distintos de #!<script> y #cloud-config es experimental.
Aprovisionamiento con datos de usuario
- Console
- CLI
- API
Cuando aprovisione un servidor desde la consola Metal, añada Datos de usuario expandiendo la pestaña Configuración opcional > Datos de usuario.

Pegue su script en el campo. Haga clic en Desplegar ahora. El script se lee y ejecuta durante el proceso de aprovisionamiento del servidor.
Cuando aprovisione un servidor desde la CLI, utilice el comando metal device create e incluya su script de datos de usuario con -u, --userdata o incluya una ruta a un archivo que contenga su script de datos de usuario en su máquina local con --userdata-file.
metal device create --project-id <project_UUID> --plan <server_type> --metro <metro_code> --operating-system <os_code> --userdata-file <local_file_path>
Cuando realice el aprovisionamiento en la API, envíe una solicitud POST al punto final projects/{id}/devices e incluya su script de datos de usuario con el parámetro "userdata" 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" \
-d '{
"metro": "<metro_code>",
"plan": "<server_type>",
"operating_system": "<os_code>"
"userdata": <string>
}'
Dependiendo de la longitud de su secuencia de comandos, deje pasar algún tiempo para que el proceso de aprovisionamiento del servidor se ejecute después de ver el servidor como "Activo".
Gestión de los datos de los usuarios
- Console
- CLI
- API
Los datos de usuario de un servidor están disponibles en la pestaña Configuración del servidor, en Datos de usuario.

Para recuperar los datos de usuario de un servidor desde la CLI, utilice el comando metal device get, especificando con la bandera -o, --output para recuperar la salida json completa, que incluirá los datos de usuario en el campo "userdata".
metal device get -i <device_id> -o json
Para recuperar los datos de usuario de un servidor desde la API, envíe una solicitud GET al punto final /devices/{id}/userdata.
curl -X GET -H 'X-Auth-Token: <API_TOKEN>' https://api.equinix.com/metal/v1/devices/{id}/userdata
También puede acceder a los datos de usuario del servidor desde su punto final de metadatos. Acceda mediante SSH al servidor y envíe una solicitud a https://metadata.platformequinix.com/userdata.
Verificación de los datos de usuario en el servidor
Para verificar los datos de usuario almacenados en su servidor, compruébelos en /var/lib/cloud/instance/user-data.txt.
Los registros del servidor para los datos de los usuarios están disponibles en /var/log/cloud-init.log y /var/log/cloud-init-output.log.
Añadir datos de usuario después del aprovisionamiento
Durante el aprovisionamiento, los datos de usuario se ejecutan en el primer arranque de un servidor. Puede añadir datos de usuario a un servidor ya aprovisionado, pero primero debe reinstalar el servidor para ejecutar los nuevos datos de usuario.
La reinstalación es una operación disruptiva y tiene opciones que incluyen el borrado de datos. Proceda con precaución.
- Console
- CLI
- API
Actualice el campo de datos de usuario en la pestaña Configuración del servidor, en Datos de usuario.

Haga clic en Guardar. Los nuevos datos de usuario se escribirán en el servidor y aparecerán en los metadatos del servidor inmediatamente, pero no se ejecutarán hasta que realice una Reinstalación del servidor.
Para actualizar los datos de usuario, utilice el comando metal device update e incluya su script de datos de usuario actualizado con -u, --userdata o incluya una ruta a un archivo que contenga su script de datos de usuario actualizado en su máquina local con --userdata-file.
metal device update --project-id <project_UUID> --plan <server_type> --metro <metro_code> --operating-system <os_code> --userdata-file <local_file_path>
Los nuevos datos de usuario se escribirán en el servidor y aparecerán en los metadatos del servidor inmediatamente, pero no se ejecutarán hasta que realice una Reinstalación del servidor.
Cuando realice el aprovisionamiento en la API, envíe una solicitud PUT al punto final projects/{id}/devices e incluya su script de datos de usuario actualizado con el parámetro "userdata" 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" \
-d '{
"userdata": <string>
}'
Los nuevos datos de usuario se escribirán en el servidor y aparecerán en los metadatos del servidor inmediatamente, pero no se ejecutarán hasta que realice una Reinstalación del servidor.