Instalación de Ansible en GNU Linux

Ahora que ya nos ha quedado claro qué es Ansible y para que sirve, ya es hora de empezar a trabajar. Lo primero que haremos es ver como instalarlo en un servidor con un sistema operativo GNU/Linux. Pero antes de nada, aclaremos algunos conceptos.

Instalación de Ansible en GNU Linux

Ya dijimos en la entrada anterior, que la admninistración de los nodos se realiza a través del protocolo SSH, en el caso de los clientes con GNU/Linux o like-UNIX, y a través de WinRM para los sistemas Microsoft Windows. Para empezar debemos crear un servidor central, también llamado máquina de control (Control Machine)

Existen una serie de distribuciones recomendadas, para llevar el rol de servidor central, estos son RHEL, CentOS, Debian y Ubuntu. En estos casos utilizaremos el gestor de paquetes y los repositorios propios de cada distribución. Aún así, si queremos tener siempre la última versión instalada, lo recomendado es utilizar el gestor típico de Python llamado pip.

El host con el rol de máquina de control debe cumplir con una serie de requisitos que son, tener una versión de Python 2 (Versiones 2.6 o 2.7) o en su caso Python 3 (Versiones 3.5 o posteriores).

Los nodos clientes se llaman nodos gestionados (Managed Node). En este caso sólo es necesario tener una versión de Python superior a la 2.5. Por defecto, para copiar los ficheros entre la máquina de control y los nodos gestionados se utiliza sftp, aunque también se puede configurar el uso de scp.

Instalación de Ansible en RHEL, Centos y Scientific Linux

Aunque antiguamente el producto estaba disponible para estas distribuciones utilizando el repositorio EPEL, en las últimas versiones, a partir de la 2.3, se ofrece a través del repositorio «Extras»

Si utilizamos RHEL 7 habilitaremos el repositorio extras, utilizando la herramienta «subscription-manager»

  1. subscription-manager repos --enable=rhel-7-server-extras-rpms

Para habilitar el repositorio en Centos 7, utilizaremos la herramienta de gestor de paquetería yum

  1. yum -y install yum-utils
  2. yum-config-manager --enablerepo=extras

E instalamos en ambos casos:

  1. yum install ansible

Con el resultado en el caso de una máquina virtual con Centos 7

Paquetes que se instalarán junto con el de Ansible

Y los paquetes ya instalados:

Ansible y dependencias recién instalado

Instalación de Ansible en Ubuntu y Debian

En el caso de Debian, tenemos primero de todo que añadir el repositorio correspondiente:

  1. echo "deb http://ppa.launchpad.net/ansible/ansible/ubuntu trusty main" >> /etc/apt/sources.list

Ahora añadimos la clave GPG del producto al sistema e instalamos:

  1. sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367
  2. sudo apt-get update
  3. sudo apt-get install ansible

Y en Ubuntu instalamos el paquete «software-properties-common», además de añadir el repositorio:

  1. sudo apt-get install software-properties-common
  2. sudo apt-add-repository ppa:ansible/ansible

Actualizamos e instalamos:

  1. sudo apt-get update
  2. sudo apt-get install ansible

Otras distribuciones GNU/Linux y like-UNIX

Instalación de Ansible en OpenSUSE

En el caso de la distribución alemana del lagarto verde debemos seguir las instrucciones de este enlace a OpenSUSE Software

Instalación de Ansible en Arch Linux y similares

Debemo realizar la siguiente instalación:

  1. sudo pacman -S ansible

Instalación de Ansible en Gentoo

Seguimos las instrucciones:

  1. sudo emerge -av app-admin/ansible

Instalación de Ansible en FreeBSD

Las indicaciones son:

  1. sudo pkg install ansible

Instalación de Ansible utilizando pip

Lo recomendado en este caso es utilizar PIP con la herramienta «easy_install», y así instalar la última versión disponible:

  1. easy_install pip

En todos los casos, para comprobar la versión instalada, debebemos utilizar el paráemtro «–version», como sigue:

  1. [root@servansible1 ~]# ansible --version
  2. ansible 2.4.2.0
  3.   config file = /etc/ansible/ansible.cfg
  4.   configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  5.   ansible python module location = /usr/lib/python2.7/site-packages/ansible
  6.   executable location = /usr/bin/ansible
  7.   python version = 2.7.5 (default, Aug  4 2017, 00:39:18) [GCC 4.8.5 20150623 (Red Hat 4.8.5-16)]

Y esto es todo en lo que respecta a la instalación. En la próxima entrada daremos los primeros pasos con esta herramienta.

Fuentes consultadas

Vultr.com – How to Install and Configure Ansible on Debian 9 for Use With Windows Server
Ansible – Gentoo Wiki
Fosskb.in – Installing and configuring Ansible 2.3 on FreeBSD 11
Wiki – ArchLinux – Ansible