Terraform & VirtualBox
Hoje, trouxe um assunto que já falamos sobre o Ansible, mas que também é muito falado pelo Terraform quando o assunto é IaC. Infraestrutura como serviço 😊
E para o que isso serve?
Permite gerenciar infraestrutura com configuração nos arquivos do que usar a interface gráfica. Como também, diminui o tempo. Permite automatizar.
É possível escrever códigos muito simples, comunicando-se via API com diferentes tipos de provedores de nuvem: AWS, Google Cloud, Azure ou IBM Cloud, por exemplo.
Assim, trouxe um exemplo prático para quem quer começar nesse mundo.
Não trouxe no ambiente em nuvem, porque já existem muitos documentos e artigos na Internet. Dessa maneira, trouxe uma abordagem utilizando o Virtual Box, apenas para exemplificar, visto que a ideia é automatizar qualquer infraestrutura. No entanto, o grande benefício é quando o utilizamos com o ambiente em ☁️ (nuvem)
Para o nosso exemplo, podemos seguir a seguinte documentação:
Primeiramente, não se esqueça de instalar o Terraform na sua máquina local.
No meu caso, eu utilizei o Mac Os. Portanto, torna-se mais fácil utilizar o brew gerenciador de pacote que você pode instalar utilizando esse link: https://brew.sh/index_pt-br
brew install terraform
Agora, com o Terraform instalado, podemos seguir para o nosso exemplo que também está disponível no meu GitHub:
Então, podemos criar uma pasta onde criaremos um arquivo main.tf
Nesse arquivo, colocaremos o nosso provider, que no caso é “terra-farm/virtualbox”
Enquanto na parte de recursos, podemos colocar a quantidade de máquinas virtuais que queremos levantar, da onde estamos retirando essa imagem, memória que será utilizada também. Então, podemos configurar da maneira que acharmos melhor, conforme a documentação anterior.
network_adapter {
type = “hostonly”
host_interface = “vboxnet0”
}
Uma parte importante é dizer o tipo de conexão que deseja-se realizar. No MacOs, só foi possível realizar o teste utilizando "hostonly" e dizendo a interface escolhida.
Após criado o arquivo, devemos utilizar alguns comandos do Terraform para criarmos essa máquina virtual:
terraform initterraform planterraform apply -auto-approve
Aqui podemos ver funcionando 😊
Uma dica, para utilizar o host-only no virtual box:
➡️ Clicar em Host Network Manager
➡️ Criar uma nova rede! Esse nome será usado ali em "host-interface"
Não esqueça de habilitar o servidor DHCP. Ele funciona como um servidor, onde apenas a máquina local (sua máquina pessoal) conseguirá acessar essa máquina virtual.
Caso queira destruir a máquina, também é muito simples:
terraform destroy -auto-approve
Espero que tenham gostado 💜