Linux na Web

Entenda como utilizar o Vagrant com VirtualBox

Tempo de leitura: 7 minutos

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.com | gutocarvalho.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: 
SysOps - 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, trabalho em um ambiente com 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: