10 junio 2016

Cómo utilizar ansible con Vagrant

Desde que conocí Vagrant, me ha parecido un software muy útil para preparar pequeñas maquetas con máquinas virtuales que tengan que "vivir" y "morir" rápidamente.

Además si en nuestra máquina disponemos de ansible, podemos aprovechar para provisionar lo que queramos en nuestra/s máquinas virtuales.

Por supuesto, lo mismo lo podemos hacer con scripts de bash, pero lo interesante de utilizar ansible es que podemos reutilizar playbooks que tengamos para otros despliegues.

Todo se ve mejor con un ejemplo.

El primer paso es crear la carpeta vagrant-ansible. La podemos llamar así, o la podemos llamar como queramos, pero poniendo un nombre descriptivo sabremos por dónde nos estamos moviendo...

 # mkdir vagrant-ansible  



Una vez hecho esto, debemos situarnos en el directorio recientemente creado y crear un vagrant file:

 # vagrant init centos/7  



Con esto creamos el vagrantfile básico para instalar un box con centos 7.

Personalizamos el fichero tanto como queramos, pero la parte más importante, viene al final donde indicamos que vamos  a provisionar con ansible:

 config.vm.provision "ansible" do |ansible|  
  ansible.playbook="playbook.yml"  
  end  
 end  


Con estas últimas líneas (el último end es el propio del fichero), estamos indicando en el fichero de configuración que vamos a utilizar ansible y que vamos autilizar el playbook llamado (imaginativamente)  playbook.yml. Este playbook estará en el mismo sitio donde esté el Vagrantfile, y contendrá la información que queramos de despliegue de la o las máquinas.