# -*- mode: ruby -*- # vi: set ft=ruby : Vagrant.configure("2") do |config| config.vm.box = "ubuntu/xenial64" # Load Balancer config.vm.define "web-balancer" do |app| app.vm.hostname = "web-balancer" app.vm.network "private_network", ip: "192.168.33.10" app.vm.provision "shell", path: "provision/provision-for-balancer.sh" end # Nginx config.vm.define "web-1" do |app| app.vm.hostname = "web-1" app.vm.network "private_network", ip: "192.168.33.11" app.vm.provision "shell", path: "provision/provision-for-nginx.sh" end # Nginx config.vm.define "web-2" do |app| app.vm.hostname = "web-2" app.vm.network "private_network", ip: "192.168.33.12" app.vm.provision "shell", path: "provision/provision-for-nginx.sh" end end
# -*- mode: ruby -*- # vi: set ft=ruby : #https://www.vagrantup.com/docs/other/enviromental-variables ENV['VAGRANT_NO_PARALLEL'] = 'yes' Vagrant.configure(2) do |config| NodeCount = 1 (1..NodeCount).each do |i| config.vm.define "centosvm0#{i}" do |node| node.vm.box = "centos/7" node.vm.hostname = "centosvm0#{i}.example.com" node.vm.network "private_network", ip: "172.42.42.10#{i}" node.vm.provider "virtualbox" do |v| v.name = "centosvm0#{i}" v.memory = 2048 v.cpus = 1 end end end end
# -*- mode: ruby -*- # vi: set ft=ruby : ENV['VAGRANT_NO_PARALLEL'] = 'yes' Vagrant.configure(2) do |config| CentosNodes = 1 (1..CentosNodes).each do |i| config.vm.define "centosvm0#{i}" do |node| node.vm.box = "centos/7" node.vm.hostname = "centosvm0#{i}.example.com" node.vm.network "private_network", ip: "172.16.16.10#{i}" node.vm.provider "virtualbox" do |v| v.name = "centosvm0#{i}" v.memory = 1024 v.cpus = 1 end node.vm.provision "shell", path: "bootstrap_centos.sh" end end UbuntuNodes = 1 (1..UbuntuNodes).each do |i| config.vm.define "ubuntuvm0#{i}" do |node| node.vm.box = "ubuntu/focal64" node.vm.hostname = "ubuntuvm0#{i}.example.com" node.vm.network "private_network", ip: "172.16.16.20#{i}" node.vm.provider "virtualbox" do |v| v.name = "ubuntuvm0#{i}" v.memory = 1024 v.cpus = 1 end node.vm.provision "shell", path: "bootstrap_ubuntu.sh" end end end
Packer es una herramienta de software libre desarrollada por Hashicorp que nos permite crear imágenes de sistema operativo de forma automatizada y utilizando archivos de configuración para tal efecto.
cd ./packer-centos7-master packer build -only=virtualbox-iso centos7-packer-version1.6.json # genera: centos71-x64-virtualbox.box vagrant box list vagrant box add --name centos71-lab centos71-x64-virtualbox.box vagrant box list vagrant up vagrant box remove centos71-lab