Logo

dev-resources.site

for different kinds of informations.

Vagrant - configurando VM's de forma performática

Published at
10/9/2023
Categories
virtualmachine
vagrant
automation
ubuntu
Author
majjinbox
Author
9 person written this
majjinbox
open
Vagrant - configurando VM's de forma performática

Vagrant é uma ferramenta que permite a criação e manipulação de máquinas virtuais. É uma ótima ferramenta quando precisamos manipular várias máquinas, ou para automatizar settup de máquina virtual. No exemplo estou utilizando ela em conjunto com o VirtualBox, porém poderia ser utilizada com outras ferramentas de virtual machine.

** Não vou comentar a instalação do VB, pois já existem centenas de tutoriais sobre o assunto.

A ferramenta utiliza o conceito de box, então cada máquina criada é uma pequena caixa com configurações e gestão independente. Utilizando a ferramenta não é necessário passar horas baixando ISO's, ou configurando a mesma máquina centenas de vezes. Basta encontrar uma configuração de box compátivel com a que eu quero e configura-la uma vez. Ou até mesmo criar minha propria box (para mim não foi necessário até o momento).

Instalação no Ubuntu

wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
Enter fullscreen mode Exit fullscreen mode
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
Enter fullscreen mode Exit fullscreen mode
sudo apt update && sudo apt install vagrant
Enter fullscreen mode Exit fullscreen mode

Informações úteis

Dependendo das configurações do VirtualBox, será necessário importar essa variável de ambiente antes de começar as iterações com a ferramenta, ou criar um arquivo de ambiente:

export VAGRANT_DISABLE_VBOXSYMLINKCREATE=1
Enter fullscreen mode Exit fullscreen mode

Configuração

Assim como o Ansible, Docker e afins, o Vagrant utiliza um arquivo central de configuração, o Vagrantfile, pode ser criado um arquivo por contexto:

VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
    config.vm.box = "hashicorp/precise64"
    config.vm.define :db do |db_config|
        db_config.vm.network :private_network, :ip => "192.168.56.10"
    end
    config.vm.define :web do |web_config|
        web_config.vm.network :private_network, :ip => "192.168.56.12"
    end
end
Enter fullscreen mode Exit fullscreen mode

O parâmetro config.vm.define :db, define um alias para a máquina que será criada, nesse caso o acrônimo será db.

config.vm.box = "hashicorp/precise64", é a configuração de box que será utilizada para criar as máquinas. Nesses sites você pode encontrar mais informações: https://vagrantcloud.com/. Uma box para a versão recente do ubuntu é: bento/ubuntu-22.04.

Um informação importante é o range de IP's que será utilizado para configuração de network, esteja atento as configurações rede da máquina hospedeira.

Comandos úteis

Para criar todas as máquinas do context (isso dentro do work directory onde está o arquivo de configurações):

vagrant up
Enter fullscreen mode Exit fullscreen mode

Para excluir todas as máquinas de um contexto (ele abre um dialogue box e pergunta quais serão excluídas):

vagrant destroy
Enter fullscreen mode Exit fullscreen mode

Para adicionar uma configuração de box localmente:

vagrant box add nome_da_vm
Enter fullscreen mode Exit fullscreen mode

Para acessar uma máquina:

vagrant ssh nome_da_vm
Enter fullscreen mode Exit fullscreen mode
vagrant Article's
30 articles in total
Favicon
Comandos Básicos de Vagrant
Favicon
🔋⚡ Ensuring High Availability with Two-Server Setup Using Keepalived
Favicon
Using Vagrant to Provision a VM and Multiple VMs
Favicon
How to Create and Configure a Multi-VM Vagrant Setup for Web and Database Servers
Favicon
Error : Loading Vagrant Up
Favicon
[pt-BR] Como utilizei o Vagrant e o Virtual Box para desenvolvimento local
Favicon
Deploying a Spring Boot Banking Application with Docker
Favicon
Resizing the disk on a Vagrant virtual machine
Favicon
🚀 Creating a Kubernetes Cluster with Vagrant: A Step-by-Step Guide 🚀
Favicon
Setup a Docker Swarm cluster using Vagrant
Favicon
Solve "[email protected]: Permission denied (publickey)" error
Favicon
Vagrant ssh alternative
Favicon
Vagrant Setup for macOS with Apple Chips
Favicon
EXPLORING DOCKER CONTAINER USING VAGRANT
Favicon
Automate Your local VM workflow
Favicon
Day 3: Exploring Vagrant and Linux Server Setup
Favicon
Vagrant: A Comprehensive Guide to Managing Virtual Environments
Favicon
Vagrant and VMWare Fusion in Mac M1
Favicon
Windows GitHub Self Hosted Runner inside a Linux Container
Favicon
How to Enable a Virtual Machine on Your Windows Laptop With Vagrant and Git Bash
Favicon
Vagrant CLI Commands Cheat Sheet
Favicon
Install Virtual Machine With Vagrant & Remotely Access it
Favicon
Run Vagrant VMs in a M1/M2/M3 Apple Sillicon Chip
Favicon
Exploring Vagrant: Simplifying Development Environments
Favicon
Do M1 Mac Dream of x86 Linux?
Favicon
Vagrant - configurando VM's de forma performática
Favicon
Getting Started with Vagrant for Local Development Environments
Favicon
Vagrant For Beginners: Box Basics in Vagrant.
Favicon
Vagrant For Beginners: Creating Your First Virtual Environment.
Favicon
Getting started with Vagrant: a beginner's Guide

Featured ones: