Laboratório de criação de máquina virtuais com vagrant, com docker já instalado
Para a criação do laboratório é necessário ter pré instalado os seguintes softwares:
Para as máquinas com Windows, é aconselhado que as instalações, provisionamento e execução de comandos sejam feitos pelo Cygwin. Caso você opte por outro cmd ou gerenciador git, como o gitforwindows, antes de iniciar o provisionamento, execute o comando
git config --global core.autocrlf falsepara evitar quebras de linhas.
Para as máquinas com Windows, é necessário que o Hyper-V esteja
desabilitado.
O Laboratório será criado utilizando o Vagrant. Ferramenta para criar e gerenciar ambientes virtualizados (baseado em Inúmeros providers) com foco em automação.
Nesse laboratório, que está centralizado no arquivo Vagrantfile, sera criada 4 máquinas com as seguintes características:
| Nome | vCPUs | Memoria RAM | IP | S.O.¹ |
|---|---|---|---|---|
| master | 1 | 1024MB | 192.168.99.100 | ubuntu/bionic64 |
| node1 | 1 | 1024MB | 192.168.99.101 | ubuntu/bionic64 |
| node2 | 1 | 1024MB | 192.168.99.102 | ubuntu/bionic64 |
| node3 | 1 | 1024MB | 192.168.99.103 | ubuntu/bionic64 |
Esses Sistemas operacionais estão sendo utilizado no formato de Boxes, é a forma como o vagrant chama as imagens do sistema operacional utilizado. A memória inicial de cada VM está definida com 1024MB (1GB). Este valor pode ser aumentado, caso necessário através do arquivo
Vagrantfile.
Para criar o laboratório é necessário fazer o git clone desse repositório e, dentro da pasta baixada realizar a execução do vagrant up, conforme abaixo:
git clone https://github.com/leandroph/docker-vagrant.git
cd docker-vagrant
vagrant upTodos os comandos devem ser utilizados dentro do diretório clonado.
Para listar as máquinas:
vagrant statusPara entrar em uma máquina:
vagrant ssh <machine>Para iniciar todas as máquinas:
vagrant upPara salvar o estado de todas as máquinas:
vagrant suspendRetomar as máquinas suspensas:
vagrant resumePara desligar todas as máquinas:
vagrant haltOpcionalmente, para a agilidade no processo de religar as VMs, você pode apenas efetuar o vagrant suspend/resume da VM após terminar sua utilização em determinado período, tendo em vista que o comando vagrant up realiza algumas verificações que podem demorar.
Em caso de erro na criação das máquinas sempre valide se sua conexão está boa, os logs de erros na tela e, se necessário, o arquivo /var/log/vagrant_provision.log dentro da máquina que apresentou a falha.
Por fim, abaixo há alguns comandos básicos do vagrant para a gerencia das máquinas virtuais.
| Comandos | Descrição |
|---|---|
vagrant init |
Gerar o VagrantFile |
vagrant box add <box> |
Baixar a imagem do sistema |
vagrant box status |
Verificar o status dos boxes criados |
vagrant up |
Criar/Ligar as VMs baseado no VagrantFile |
vagrant provision |
Provisionar mudanças logicas nas VMs |
vagrant status |
Verificar se VM estão ativas ou não. |
vagrant ssh <vm> |
Acessar a VM |
vagrant ssh <vm> -c <comando> |
Executa comando via ssh |
vagrant reload <vm> |
Reiniciar a VM carregando uma nova configuração aplicada no Vagrantfile |
vagrant halt |
Desligar as VMs |
Para maiores informações acesse a Documentação do Vagrant