Dados do usuário
Ao provisionamento um servidor no Equinix Metal™, você tem a opção de incluir Dados do Usuário, que podem ser usados para executar várias tarefas de automação depois que o servidor estiver pronto, como executar scripts comuns, instalar pacotes ou acionar outros processos de configuração mais avançados.
Utilização
Os dados de usuário do Equinix Metal são baseados no projeto de código aberto cloudbase-init e suportam oficialmente dois formatos de dados de usuário .
Scripts de dados do usuário
Os scripts servem para executar scripts de shell e começam com #! para shell do Linux ou #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
Dados de configuração da nuvem
Os dados de configuração da nuvem (https://cloudbase-init.readthedocs.io/en/latest/userdata.html#cloud-config) devem usar sintaxe YAML válida e começar com #cloud-config.
#cloud-config
package_upgrade: true
packages:
- nginx
O suporte para formatos diferentes de #!<script> e #cloud-config é experimental.
Provisionamento com dados do usuário
- Console
- CLI
- API
Ao provisionamento um servidor a partir do console Metal, adicione os Dados do Usuário expandindo as Configurações Opcionais. > Aba Dados do usuário.

Cole seu script no campo. Clique em Implantar agora. O script será lido e executado durante o processo de provisionamento do servidor.
Ao provisionamento um servidor a partir da CLI, use o comando metal device create e inclua seu script de dados do usuário com -u, --userdata ou inclua o caminho para um arquivo que contenha seu script de dados do usuário em sua máquina local com
--userdata-file.
metal device create --project-id <project_UUID> --plan <server_type> --metro <metro_code> --operating-system <os_code> --userdata-file <local_file_path>
Ao provisionamento na API, envie uma solicitar POST para o endpoint projects/{id}/devices e inclua seu script de dados do usuário com o parâmetro "userdata" no corpo da solicitar.
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>
}'
Dependendo do tamanho do seu script, aguarde algum tempo para que o processo de provisionamento do servidor seja executado depois que você vir o servidor como "Ativo".
Gerenciando dados do usuário
- Console
- CLI
- API
Os dados do usuário de um servidor estão disponíveis na aba Configurações do servidor, em Dados do Usuário.

Para recuperar os dados do usuário de um servidor a partir da CLI, use o comando metal dispositivo get, especificando com a flag -o, --output para recuperar a saída json completa, que incluirá os dados do usuário no campo "userdata".
metal device get -i <device_id> -o json
Para recuperar os dados do usuário de um servidor da API, envie uma solicitar GET para o endpoint /devices/{id}/userdata.
curl -X GET -H 'X-Auth-Token: <API_TOKEN>' https://api.equinix.com/metal/v1/devices/{id}/userdata
Você também pode acesso os dados do usuário do servidor através do endpoint de metadados. Conecte-se ao servidor via SSH e envie uma solicitar para https://metadata.platformequinix.com/userdata.
Verificando dados do usuário no servidor
Para verificar os dados do usuário armazenados em seu servidor, verifique-os em /var/lib/cloud/instance/user-data.txt.
Os registros do servidor para dados do usuário estão disponíveis em /var/log/cloud-init.log e /var/log/cloud-init-output.log.
Adicionando dados do usuário após o provisionamento
Durante o provisionamento, os dados do usuário são executados na primeira inicialização do servidor. Você pode adicionar dados de usuário a um servidor já provisionado, mas primeiro você deve reinstalar o servidor para executar os novos dados de usuário .
A reinstalação é uma operação disruptiva e tem opções que incluem a exclusão de dados. Prossiga com cautela.
- Console
- CLI
- API
Atualize o campo de dados do usuário na guia Configurações do servidor, em Dados do Usuário.

Clique em Salvar. Os novos dados do usuário serão gravados no servidor e aparecerão imediatamente nos metadados do servidor, mas não serão executados até que você reinstale o servidor.
Para atualizar os dados do usuário, use o comando metal device update e inclua seu script de dados de usuário atualizado com -u, --userdata ou inclua o caminho para um arquivo que contém seu script de dados de usuário atualizado em sua máquina local com --userdata-file.
metal device update --project-id <project_UUID> --plan <server_type> --metro <metro_code> --operating-system <os_code> --userdata-file <local_file_path>
Os novos dados do usuário serão gravados no servidor e aparecerão nos metadados do servidor imediatamente, mas não serão executados até que você execute uma reinstalação do servidor.
Ao provisionamento na API, envie uma solicitar PUT para o endpoint projects/{id}/devices e inclua seu script de dados de usuário atualizado com o parâmetro "userdata" no corpo da solicitar.
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>
}'
Os novos dados do usuário serão gravados no servidor e aparecerão nos metadados do servidor imediatamente, mas não serão executados até que você execute uma reinstalação do servidor.