Muitas vezes, haverá casos em que você desejará automatizar o provisionamento e a configuração de sua infraestrutura de nuvem Vultr. Há uma infinidade de ferramentas disponíveis, no entanto, cloud-init é um padrão do setor usado para inicializar e configurar instâncias de VM com dados do usuário Muitas vezes, haverá casos em que você desejará automatizar o provisionamento e a configuração de sua infraestrutura de nuvem Vultr. Há uma infinidade de ferramentas disponíveis, no entanto, cloud-init é um padrão do setor usado para inicializar e configurar instâncias de VM com dados do usuário Muitas vezes, haverá casos em que você desejará automatizar o provisionamento e a configuração de sua infraestrutura de nuvem Vultr. Há uma infinidade de ferramentas disponíveis, no entanto, cloud-init é um padrão do setor usado para inicializar e configurar instâncias de VM com dados do usuário O Terraform é uma ferramenta de infraestrutura como código que permite aos usuários criar, alterar e criar versões de sua infraestrutura com segurança e eficiência. Ele usa uma sintaxe de alto nível para provisionar e gerenciar a infraestrutura de forma declarativa, permitindo a capacidade de dividir a configuração em partes menores para melhor organização, reutilização e capacidade de manutenção. Informações sobre a instalação e execução do Terraform podem ser encontradas aqui. Ao passar o parâmetro user_data para um arquivo Terraform.yaml, você pode usar a automação para configurar sua instância do Vultr no momento da inicialização. Mais sobre isso abaixo Usando Terraform para configurar Cherryservers com cloud-init Se o Terraform for seu método de provisionamento de infraestrutura preferido, você poderá encontrar o Vultr Terraform Provider no Github Repo aqui Para qualquer provedor de infraestrutura, ao usar o Terraform como ferramenta de provisionamento, você sempre precisará especificar o bloco do provedor conforme visto aqui: Aqui está um módulo de exemplo que utiliza dados do usuário para configurar uma instância do Vultr no momento da inicialização: Com este módulo, você tem um recurso que designa vultr_server como o tipo de recurso que deseja provisionar e usa variáveis ​​como project_id e user_data para lidar com o provisionamento. Ao fornecer a string para user_data, você está designando um script de inicialização que o servidor bare-metal executará na inicialização Você pode provisionar novos servidores por meio da API para buscar dados do usuário do seu Vultr por meio do serviço cloud-init. Isso permite que você automatize várias tarefas de configuração do servidor buscando diretivas de dados do usuário na implantação do servidor. As tarefas fornecidas serão executadas quando o servidor inicializar pela primeira vez. Existem duas maneiras de fazer isso - scripts de shell ou diretivas cloud-init. Vamos falar sobre as diretivas cloud-init As diretivas Cloud-Init são executadas quando o servidor inicializa pela primeira vez, mas a sintaxe é um pouco diferente. Seu cenário deve começar com a linha #cloud-config, caso contrário, as diretivas de dados do usuário serão rejeitadas. Para referência adicional, recomendo verificar a documentação oficial do cloud-init: httpscloudinit.readthedocs.io/en/latest/index.html Um exemplo simples de um script cloud-init que seria transmitido é: Para passar esses cenários de dados para a API Vultr, eles devem ser convertidos no formato base64. Em um sistema Linux, você faria o seguinte para o arquivo test.yaml: Este texto de saída deve ser obtido por meio do parâmetro user_data da API Vultr ao solicitar um novo servidor Juntando tudo Para ver isso em ação, especifique o provedor de recursos para que você possa designar Vultr como a plataforma para a qual está provisionando. Seu script final deve ficar assim: Isso é tudo! O Terraform é realmente uma ótima ferramenta para automatizar a infraestrutura depois que você entende a sintaxe e como ela funciona. Espero que você tenha gostado deste artigo!