Pedro A. Castillo Valdivieso Depto. de Arquitectura y Tecnología de Computadores
Universidad de Granada [email protected]
Gestión de configuraciones 2
• Fuente de información principal: http://jj.github.io/CC/documentos/temas/Gestion_de_configuraciones
Vagrant 3
• Vagrant permite gestionar el ciclo de vida completo de una máquina virtual:
• Creación.
• Provisionamiento.
• Monitorización.
• Conexión.
• Destrucción.
• Permite trabajar con todo tipo de hipervisores y provisionadores, aunque en general Vagrant usa VirtualBox.
Vagrant 5
• Podemos bajar máquinas ya preparadas (en formato .box) de la web:
http://www.vagrantbox.es/
Vagrant 6
• Como ejemplo, bajemos un Ubuntu Precise Pangolin (Ubuntu 12.04):
vagrant box add precise64 http://files.vagrantup.com/precise64.box
Vagrant 7
• Inicializamos un nuevo proyecto Vagrant a partir del "box" precise64 descargado: vagrant init precise64
Vagrant 9
• Podemos lanzar la máquina virtual con la siguiente orden (se tendrán en cuenta las configuraciones indicadas en el archivo Vagrantfile, si las hay): vagrant up
Vagrant 10
• Virtualbox ejecutará la máquina virtual, y podremos entrar en ella a través de ssh (no pedirá clave):
vagrant ssh
Vagrant 12
• Una vez creada la máquina virtual se puede entrar en ella y configurarla e instalar todo lo necesario.
• Vagrant permite provisionarla a través del Vagrantfile (al hacer vagrant up o vagrant provision) y se llevan a cabo las acciones especificadas en ese fichero de configuración.
• Usar el provisionador shell equivale a entrar en la máquina y dar las órdenes a mano en un shell.
Vagrant 13
• Como ejemplo de configuración para instalar el joe, teclearemos la siguiente en un archivo llamado Vagrantfile:
Vagrant 14
• Volvemos a lanzar la máquina virtual con la siguiente orden para aplicar las configuraciones indicadas en el archivo Vagrantfile: vagrant provision
Vagrant 16
• Una vez que terminemos, podemos apagar la máquina en ejecución con el comando “halt”.
• Podremos lanzarla de nuevo con el comando “up” y la tendremos tal y como la dejamos la última vez (con los programas instalados, configurados, y archivos copiados).
• Si queremos eliminar la máquina, usaremos el comando “destroy”.
• Eso elimina la máquina y configuraciones aplicadas. • Si la lanzamos con “up” de nuevo, tendremos una
máquina nueva, como recién instalada.
Vagrant. Ejercicios 18
• Instala Vagrant en tu sistema. • Baja el “box” del ejemplo (precise64.box). • Lanza la máquina virtual y comprueba que puedes
acceder a ella por ssh. • Crea un Vagrantfile para instalar el nginx al arrancar la
máquina. • Comprueba que nginx queda instalado y funcionando.
Recursos adicionales (I) 19
http://jj.github.io/CC/documentos/temas/Gestion_de_configuraciones
Vagrant: What, Why, and How
http://code.tutsplus.com/tutorials/vagrant-what-why-and-how--net-26500
Starting with Vagrant on Ubuntu 14.10 - A Beginner's Guide
https://www.howtoforge.com/tutorial/ubuntu-vagrant-install-and-getting-started/
Vagrant Tutorial - Running a VM For Your Local Development Environment
https://www.youtube.com/watch?v=PmOMc4zfCSw
A beginners guide to vagrant - Getting your portable development environment, part 1
http://www.erikaheidi.com/blog/a-begginers-guide-to-vagrant-getting-your-portable-development-e
Using Vagrant and Ansible
http://docs.ansible.com/ansible/guide_vagrant.html
Recursos adicionales (II) 20
Tutorial to create your first Vagrant project:
https://gist.github.com/dergachev/3866825
Download vagrant boxes: http://www.vagrantbox.es/
Shell provisioner
https://docs.vagrantup.com/v2/provisioning/shell.html
Vagrantfile Explained: Setting Up and Provisioning with Shell
http://www.sitepoint.com/vagrantfile-explained-setting-provisioning-shell/
Building Containerized Apps With Vagrant
http://fizzylogic.nl/2015/01/27/building-containerized-apps-with-vagrant/
Recommended