|
Es una herramienta para la creación y configuración de entornos de desarrollo virtualizados
|
|
Editar el fichero de configuración Vagrantfile para agregar una VM con Centos7
|
Vagrant.configure( "2" ) do |config|
config.vm.box = "centos/7" config.vm.define "Centos_7" end |
|
arrancar la máquina virtual e iniciar el Vagrant
|
$ vagrant up
$ vagrant init centos/7 |
Vagrant.configure( "2" ) do |config|
config.vm.define "ubuntu" do |ubuntu|
ubuntu.vm.box = "bento/ubuntu-16.04"
end
config.vm.define "ubuntu" do |debian|
debian.vm.box = "debian/jessie64"
end
endVagrant.configure( "2" ) do |config|
config.vm.define "nodo1" do |nodo1|
nodo1.vm.box = "centos/7"
nodo1.vm.hostname = 'nodo1'
nodo1.vm.network "public_network",
ip: "192.168.1.24"
end
endconfig.vm.synced_folder "." , "/vagrant" ,
type: "virtualbox"|
vagrant init:
|
iniciar Vagrant creando un directorio .vagrant y el archivo "Vagrantfile" (configuración)
|
|
vagrant up:
|
arrancar una máquina virtual
|
|
vagrant resume:
|
activar una máquina virtual suspendida previamente
|
|
vagrant provision:
|
aprovisionar de nuevo una máquina virtual según la configuración
|
|
vagrant reload:
|
reiniciar la máquina virtual
|
|
vagrant ssh:
|
conectar mediante SSH a la máquina virtual
|
|
vagrant halt:
|
apagar una máquina virtual
|
|
vagrant suspend:
|
suspender una máquina virtual
|
|
vagrant box list:
|
listar las máquinas virtuales gestionadas
|
|
vagrant global-status --prune:
|
listar todas las máquinas virtuales, su estado y carpeta de entorno.
|
|
vagrant box add <name> <url>:
|
descargar e instala una máquina virtual
|
|
vagrant box outdated:
|
comprobar si hay actualizaciones de la máquina virtual
|
|
vagrant box update:
|
actualizar la máquina virtual
|
|
vagrant destroy:
|
eliminar la máquina virtual
|
|
vagrant box remove <name>:
|
eliminar una máquina virtual específica
|
|
vagrant destroy && vagrant up:
|
devolver una máquina virtual a su estado original
|
|
vagrant package:
|
empaquetar una máquina virtual en boxes
|
|
vagrant snapshot list:
|
listar las snapshots guardadas
|
|
vagrant snapshot push:
|
crear una snapshot de la máquina virtual
|
|
NAT: es la configuración predeterminadas, aísla la máquina virtual de las otras MVs.
|
|
|
Red interna: crea una red virtual entre las MVs
|
config.vm.network "private_network", type: "dhcp"
config.vm.network "private_network", ip: "192.168.50.4" |
|
Adaptador puente: la MV actúa como un host más en la red interna
|
config.vm.network "bridged"
|
|
Red pública: puede definir IPs fijas
|
config.vm.network "public_network", type: "dhcp"
config.vm.network "public_network", ip: "192.168.1.44" |
|
Adaptador sólo-anfitrión: crea red privada entre MV y anfitrión
|
config.vm.network "hostonly", "192.168.33.10"
|
|
Puerta de enlace predeterminada: interfaz eth0 siempre conectada
|
config.vm.provision "shell",
run: "always", inline: "ip route del default && ip route add default via 192.168.178.1" |
|
Para acceder remotamente lo haremos mediante el SSH
|
|
cp -r /home/vagrant/.ssh/ /root/
chown -R root.root /root/.ssh/ |
|
Modificar el usuario SSH en Vagrantfile:
config.ssh.username = "root" |
|
Usar Ansible para ejecutar comandos en máquinas Vagrant habilitadas con sudo
|
|
ansible -vv all -m command -a "id" -u vagrant --private-key /ruta/a/la/clave/privada -b --become-method sudo -e "ansible_become_pass=contraseña"
|
|
ansible -vv all -m command -a "id" -u vagrant --private-key /ruta/a/la/clave/privada -b
|
No comments yet.
Cheatography n. The art of mapping complex subjects into clear, instantly navigable reference guides.