martes, 19 de enero de 2016

Como instalar Ansible en Windows

Ansible es una potente herramienta para la automatización y aprovisionamiento de imágenes virtuales. Dentro del espacio que ocupan otras herramientas similares, podríamos decir que ansible necesita menos requerimientos, ya que toda la comunicación la puede hacer vía SSH, sin necesidad de instalar agentes, o infraestructuras con pesados servidores y también la sencillez al tratar la configuración mediante ficheros yaml.

Instalación de Ansible en Windows


Ansible funciona solamente con entornos linux, así que eso representa un problema con Windows. Además es una herramienta creada con python, por lo que necesitaremos de este entorno para hacerla funcionar. Por tanto, necesitaremos lo siguiente:


  • Cygwin
  • Intérprete python
  • Cliente git
  • PyYAML
  • Jinja2
  • clonar el repositorio de ansible


En algunos posts de internet la explicación es bastante larga, con muchos pasos en la configuración. Por ejemplo en azavea, o en servercheck.in y por lo tanto propensa a fallos. Sin embargo en stackoverflow encontramos una solución muy elegante y simple.

Primero en lugar de descargar los paquetes desde el instalador de cygwin, vamos a usar  un gestor de paquetes para Cygwin. en este caso atp-cyg.

Desde el terminal de cygwin escribimos lo siguiente:

lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg > apt-cyg
install apt-cyg /bin

Una vez instalado podemos ejecutar los siguientes comandos. O bien utilizar el script que proponen en stackoverflow:

#!/bin/sh
type apt-cyg || exit
apt-cyg install git python-{jinja2,six,yaml}
git clone --depth 1 git://github.com/ansible/ansible
cd ansible
PATH+=:~+/bin
export PYTHONPATH=~+/lib
ansible --version

Alternativa


Quizá la mejor alternativa sea la de usar una imagen de Linux para realizar la instalación de ansible y que dicha imagen haga de host, ya que en la documentación de ansible se indica que ni windows, ni cygwin están soportados y no hay previsiones de que se haga. Se puede usar una imagen rápidamente con Vagrant o con Docker.


No hay comentarios:

Articulos relacionados