2. Que es y cual es su funcion?
Vagrant es un sistema basado en Vbox que gestiona las VM
a través de consola y permite provisionar una configuración
durante el arranque de la misma.
Con un fichero que ocupe pocos Kb puedes tener una VM
funcionando en un entorno configurado, solo necesitas
Vbox, Vbox Guest additions y la aplicación de Vagrant.
La idea básicamente es generarte tu repositorio de
Vagranfiles donde tengas configuraciones prefijadas para tu
iniciativa o para gestionar todas las iniciativas a tu cargo
Se integra con Puppet, Cheff y Bash, por lo tanto la provisión
se puede complicar tanto como lo necesites
Aquí os dejo un ChearSheet de todas las opciones que
puede usar Vagrant y customizacion con Vagrantfile
https://gist.github.com/4157450
3. Y así es como se levanta una Maquina Virtual a través de
Vagrant, ha dado un error con la carpeta compartida, eso
suele pasar cuando no se le ha aplicado el Guest additions
con la versión adecuada a la VM. La version de Vbox y el
GA debe ser la misma
4. Trasteando un poco…
Así es como se accede a la VM
Esta es la pinta del Vagrantfile
5. Trasteando…
Que pasa si no tengo ni idea de usarlo y quiero mi maquina
ya para probar??
Nos vamos a vagrantbox.es y elegimos la distro que queramos
usar, nos apuntamos la URL y en la linea de comandos ponemos
esto:
Tras terminar de bajarse ponemos modificamos el nombre dentro del
Vagrantfile para que sea el nombre que le hemos puesto en este caso
arch_x86_64, vagrant up y ya tenemos entorno
6. Empaquetado y Destrucción
Que no te interesan las que están ahí arriba?, perfecto hazte
la tuya a través de Vbox….a que ya la tienes, mejor aún, haz
lo siguiente:
Puedes especificarle un Vagrantfile para empaquetarlo dentro de la box
Que la lías con la maquina, te la cargas y pones de
nuevo vagrant up:
7. Vamos a lo interesante…
La provisión es lo que tiene gran potencial, después de
bajarte la box y tener clara mas o menos la configuración
pasamos a la parte de provision:
Dentro de la opción path, le indicas la
carpeta donde se encuentran tus .pp y en
el file le declaras el inicial
Aquí muestro la provisión
con Chef y Bash, puedes
simplemente ejecutar una
línea o llamar a los scripts
que necesites.
Puedes incluir tu
manifests ya creado
dentro del package
8. Multiples VM´s simultaneas
Con un solo Vagrantfile puedes declarar que quieres
levantar varias maquinas
Este Vagrantfile levantaría 2
maquinas, una con el servidor
web y otra con un Mysql
Para levantar una solo ponemos
vagrant up web (en este caso) o
db y a funcionar
Si algo falla, esto de aquí abajo
es el modo Debug
Para hacerlas que se vean hay
que configurarles la ip
9. Integración con Jenkins
Ya que todas las iniciativas disponen de un Jenkins, es
bueno que la integración sea fácil e indolora.
Dentro del Gist hay un link donde esta el Plugin de Vagrant
para jenkins.
Tiene varias ventajas, por ejemplo puedes probar una
provisión con Puppet o simplemente desplegar tu software
dentro de la maquina y comprobar que funciona
perfectamente el despliegue en una maquina nueva
completamente.