Instalar o Vagrant no Fedora 27 e 28
Conteúdo do post.
O Vagrant é uma ferramenta de linha de comando(CLI), que abstrai a complexidade dos principais virtualizadores do mercado e nos permite criar maquinas virtuais de uma maneira extremamente simples, para utilizá-lo basta criar o arquivo de manifesto e à partir deste arquivo uma máquina virtual será provida com tudo que precisamos configurado, sendo assim vamos ver como instalá-lo no Fedora.
Requisitos
Para que o Vagrant funcione é preciso ter instalado algum software de virtualização, você pode descobrir quais são suportados aqui, outro requisito é que o seu computador precisa ser capaz de acessar outros via SSH.
Neste tutorial será utilizado o VirtualBox para virtualização, caso não tenha algum ou alguns dos requisitos e não sabe como instalá-los você pode seguir este tutorial para instalar o VirtualBox e este para instalar e configurar o SSH.
Instalar o Vagrant
Com o VirtualBox e OpenSSH instalados podemos prosseguir com o download e instalação, para isso copie e execute o texto abaixo em seu terminal.
wget https://releases.hashicorp.com/vagrant/2.1.1/vagrant_2.1.1_x86_64.rpm && \
sudo dnf install -y ./vagrant*.rpm && \
rm vagrant_*.rpm*
Por o Vagrant padrão não utiliza imagens convencionais de instalação, aquela que você acessa o site da sua distro Linux preferida, faz o download e instala na sua maquina ou servidor, ao invés dessas imagens o Vagrant utiliza as boxes, que basicamente são imagens derivadas das distribuição oficiais, onde tudo que não é útil ou essencial para o Vagrant é removido, qualquer um pode criar as suas próprias boxes, você pode encontrar algumas boxes compatíveis com o VirtualBox aqui.
Para prover uma maquina virtual o Vagrant utiliza o arquivo Vagrantfile onde ficam todas os detalhes sobre o provisionamento, por exemplo: arquivos que serão compartilhados, quantidade de memória RAM, o endereço IP, as portas que serão compartilhadas, os programas que serão instalados automaticamente, entre outros.
Instalar o plugin vagrant-vbguest
O Vagrant suporta o uso de plugins que estendem as suas funcionalidades, aqui você encontra alguns dos plugins disponíveis.
Para melhorar a performance e usabilidade o VirtualBox disponibiliza o VBox Guest Additions que basicamente é um conjunto de softwares e drivers que devem ser instalados no sistema operacional instalado na maquina virtual, para não termos que instalá-lo manualmente em todos os sistemas operacionais, iremos instalar o plugin vagrant-vbguest e ele fará automaticamente a instalação.
vagrant plugin install vagrant-vbguest
Agora que o vagrant-vbguest foi instalado ele irá instalar e configurar o VBox Guest Additions sempre que uma maquina virtual for iniciada através do Vagrant.
Criar o Vagrantfile
Vamos criar o Vagrantfile no diretório que desejamos compartilhar com a VM, neste exemplo iremos provisionar uma VM com o Fedora 28 cloud base, mas você pode utilizar a box que desejar, apenas tenha certeza que a box escolhida é compatível com o VirtualBox, caso contrário não irá funcionar com esse tutorial.
vagrant init fedora/28-cloud-base
O Vagrantfile utiliza a sintaxe do Ruby(mas você não precisa saber programar em Ruby), você pode alterar as configurações conforme a sua necessidade, neste artigo utilizaremos a configuração padrão para não fugirmos do objetivo principal do tutorial.
Iniciar a VM
Após criar o Vagrantfile vamos solicitar ao Vagrant que inicie a VM, o comando abaixo funciona da seguinte forma: ele procura pelo Vagrantfile partindo do diretório atual até a raiz do seu sistema de arquivos, depois de encontrar e ler o Vagrantfile será verificado se a box configurada existe localmente, caso não exista será realizado o seu download e somente então a VM será iniciada com todas a configurações definidas no Vagrantfile.
Todo este processo pode demorar alguns minutos dependendo do seu hardware e rede, principalmente quando é necessário realizar o download da box.
vagrant up
Acessar a VM
O acesso a VM é feito via SSH, facilitando às nossas vidas o Vagrant disponibiliza o comando abaixo para nós conectarmos a VM, assim não precisamos nos preocupar com usuários, endereços IP ou senhas.
vagrant ssh
Se tudo deu certo, agora você está logado na VM e pode fazer tudo o que você faria em uma distribuição comum, instalar programas, realizar downloads, criar arquivos e tudo estará te aguardando na próxima vez que você ligar e acessar a VM.
Por padrão o diretório compartilhado é montado na VM em /vagrant, mas você pode alterá-lo no Vagrantfile se quiser, para acessá-lo, execute.
cd /vagrant
Executando ls
no diretório /vagrant você deve ver o arquivo Vagrantfile na lista de arquivos retornada, todos os arquivos que forem criados, deletados ou editados neste diretório terão seu estado alterado tanto na sua maquina quanto na VM, não importando em qual maquina a operação tenha sido realizada.
Desligar a VM
Para desligar uma VM com o Vagrant execute o comando abaixo no diretório onde está o Vagrantfile ou em algum dos subdiretórios.
vagrant halt
Deletar a VM
Caso você não precise mais da VM e deseja deletá-la, basta executar.
vagrant destroy
Finalizando
Abrindo o VirtualBox você poderá ver todas as VMs criadas pelo Vagrant, pois como dito anteriormente o Vagrant não é um virtualizador, para evitar problemas futuros recomendo que você não altere as configurações da VM pelo GUI do VirtualBox, sempre utilize o Vagrantfile para isso.
Com isso chegamos ao fim deste tutorial e agora você deve ser capaz de facilmente criar maquinas virtuais com o Vagrant.