Linux na Web

Entenda como utilizar o Vagrant com VirtualBox

Neste artigo irei ensinar como utilizar o Vagrant, mas afinal o que é o Vagrant? O Vagrant é gerenciador de Máquinas Virtuais (VMs) para construir e provisionar ambientes completos, ele pode ser instalado em diversas plataformas como: Linux, Windows e Mac OSX, podendo rodar vms com o seu projeto em seu próprio desktop, servidor ou cloud, é um software Open Source escrito em Ruby, produzido e mantido pela HashiCorp, uma empresa de código aberto com sede na Califórnia, além do Vagrant a empresa também produz outras ferramentas, como: Packer, Terraform, Consul, Vault e Nomad.

Ao invés de trabalharmos com “templates” que são aquelas vms que configuramos do zero e depois clonamos quando precisamos de um ambiente novo, o vagrant usa o conceito chamado box, que são imagens de sistemas operacionais pré-configurados que vão servir como base para a construção de nossas vms.

O Vagrant reduz o tempo de configuração do ambiente de desenvolvimento, a ideia dele é poder criar ambientes completos e customizados de forma simples, tanto para o time de infraestrutura/operações quanto desenvolvimento, ambos pode criar o seu próprio ambiente, não se limitando ao time de infraestrutura.

Com alguns comandos você cria, ambientes rápidos e personalizados, como: Definir a quantidade de recursos hardware, definir hostname, instalação de pacotes, iniciar serviços e por ai vai…

Pré-requisitos:

Iremos utilizar com o VirtualBox, então precisa ter o VirtualBox instalado, para instalar, acesse a loja da sua Distro ou baixe direto do site: virtualbox.org

Instalando o Vagrant

Pacotes para instalação do Vagrant: https://www.vagrantup.com/downloads.html

Debian/Ubuntu/Deepin:

RHEL/CentOS/Fedora:

Verificando a versão:

Se a instalação ocorreu tudo certo, o comando irá retornar a versão do Vagrant.

Preparando o ambiente para subir a nossa primeira VM

Irei criar na home do meu usuário (root) um diretório chamado “projetos” onde irei criar os diretórios que as minhas vms irão ficar, e também o diretório CentOS7 para criar a nossa primeira vm em CentOS 7.

Entre dentro do diretório que criamos:

Criando a primeira VM com o Vagrant

Agora iremos criar a nossa VM com o CentOS 7.5, para isso precisamos criar o Vagrantfile passando o parâmetro init nome da box ou arquivo.box, se quiser gerar um Vagrantfile genérico para conhecer o arquivo, basta digitar o comando vagrant init.

O arquivo Vagrantfile é o arquivo de configuração do Vagrant para a criação da nossa vm, este arquivo é escrito em ruby, o mesmo é criado dentro do diretório que irá subir a sua VM, em nosso cenário o arquivo vai ser criado em: /root/projetos/CentOS7/, o vagrantfile é onde especificamos todas as features da nossa vm, como: Sistema Operacional, Interfaces de Redes, Recursos de Hardware, Programas a instalar e etc.

Caso precisa especificar uma versão específica do CentOS 7 coloque o parâmetro –box-version + versão.

Liste o conteúdo do diretório e perceba que o arquivo foi criado:

Para subir a sua VM, execute o comando vagrant up.

Ué mas como você sabe qual parâmetro passar para o comando vagrant init para criar uma BOX com imagem específica? 

Basta ir no site: Vagrant Cloud Box e clicar na imagem desejada, lá irá conter duas formas de como criar o Vagrantfile:

Vagrant Cloud Box

Abaixo é o print do site Vagrant Cloud Box, para baixar o box desejado, clique na imagem que deseja, no cenário acima utilizei o CentOS 7.5 versão 1809.01 então clique em centos/7 1809.01.

Discover Vagrant Boxes

Ao clicar logo vemos duas abas, a Vagrantfile e New.
Caso queira criar o Vagrantfile, basta clicar na aba Vagrantfile e copiar o conteúdo, e criar o Vagrantfile sem precisar dar o comando vagrant init para criar o arquivo.

Vagrant + VirtualBox

Logo abaixo tem a versão da imagem, caso queira baixar ela em específico basta criar o vagrantfile:

Agora caso queira baixar e criar o box deixando o Vagrant criar sozinho o Vagrantfile, clique na aba New, e execute o comando igual a imagem acima:

Para baixar a versão 1804.01 passe o parâmetro: –box-version 1804.01.

Após iniciada a VM conecte nela usando o ssh.

Perceba abaixo, que após conectar na minha VM com CentOS 7, ela foi criada de acordo com os parâmetros que eu passei.

Vagrant com VirtualBox

Pronto, seu ambiente está pronto para uso!

Comandos úteis – Administrando VMs

Criando um Vagrantfile

Ligando uma VM

Listar a VM 

Listar e verificar onde foi inciada, caso você não lembre:

Para administrar uma VM, você precisa estar dentro do diretório onde criou a sua VM, ou passando o [comando] + <id da vm>, eu recomendo que especifique o id, pois não precisa ficar acessando os diretórios das VMs criadas para acessa-las, ficando assim:

# vagrant [parametro] [<iddavm>]

Iniciar uma VM

Conectar na VM através de ssh

Conectar na VM através de rdp

Se for Windows

Iniciando uma VM

Desligando uma VM

Reboot em uma VM

Suspender uma VM

Para fazer resume de uma vm suspensa

Para exibir o status de uma VM

Para excluir uma VM

Comandos úteis – Snapshots

Tirando snapshot

Para tirar snapshot do status atual da VM

Listar os snapshots

Para restaurar um snapshot

Para excluir um snapshot

Comandos úteis – Administrando as BOXs

Listar as boxes (Imagens S.O.) que foram baixadas

Removendo uma box

Adicionando uma BOX

Caso ele pergunte qual software de virtualização está utilizando, selecione o VirtualBox.

Adicionando uma BOX e criando o vagrantfile

Ele faz o download da box e cria o vagrantfile

Referências

vagrantup.comgutocarvalho.net

Por enquanto é isso galera, no próximo irei ensinar como criar vms limitando recursos de hardware e configurações pré-definidas… enfim.

Esse provavelmente será o ultimo artigo de 2018, espero que ajude bastante gente, eu recomendo, estou utilizando no dia-dia para testar alguns serviços e vem me ajudando muito!

Enfim, feliz ano novo e muito sucesso nesse novo ciclo!

Abraços.

Sobre: 
Analista de Redes Sênior, entusiasta por Linux, fundou o site Linux na Web no intuito de ajudar a comunidade Linux com artigos que possa ajudar no dia-dia do profissional de TI, atualmente adotando a práticas DevOps para automatizar e agilizar nas tarefas diárias. - Amo o que eu faço... Gosto de tudo que é relacionado a Tecnologia, principalmente se for Open Source hehe e Amo a minha Família!

1 Comentário

  1. Thiago Orbite

    08/01/2019 - 11:19

    Excelente!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

%d blogueiros gostam disto: