Ansible

En construcciónEsta lección está en elaboración

Esta lección es una introducción al uso de Ansible, la herramienta de automatización de Red Hat. Como ejemplo, ...

Qué es Ansible

Ansible es una herramienta de administración automatizada de ordenadores, creada por Michael DeHaan en 2012. La primera versión se publicó en marzo de 2012 y la versión 1.0 se publicó en febrero de 2013. RedHat compró Ansible en octubre de 2015.

Ansible Actualizado 08-05-2018 2012 2013 2014 2015 2016 2017 2018 0.1 0.5 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0 2.1 2.2 2.3 2.4 2.5 2.6


Con Ansible, un ordenador es la máquina de control (control machine) y el resto de ordenadores son los nodos administrados (managed nodes).

En la máquina de control es donde se instala Ansible. En los nodos administrados no es necesario instalar ningún software. El acceso de la máquina de control a los nodos administrados se hace normalmente mediante conexiones SSH.

Puesta en marcha

En los tres apartados siguientes:

Máquina de control: instalación de Ansible en Ubuntu 18.04

Instalaremos Ansible en una máquina virtual de VirtualBox con Ubuntu 18.04 Server que ejercerá de máquina de control. La instalación la realizaremos con Packer a partir de la imagen creada en el ejemplo 1 de la lección de Packer mediante la plantilla y script siguientes:

Nodos administrados: Ubuntu 18.04

En los nodos administrados no es necesario instalar Ansible. Los nodos administrados serán también máquinas virtuales de VirtualBox con Ubuntu 18.04 Server. La instalación la realizaremos con Packer a partir de la imagen creada en el ejemplo 1 de la lección de Packer mediante la plantilla siguiente. En caso de querer crear otros nodos administrados, deberíamos cambiar el directorio de salida y el nombre de la máquina virtual (líneas 16 y 17) y ejecutar de nuevo la plantilla.

Configuración inicial y primera conexión

La máquina de control Ansible se conecta con los nodos administrados por SSH. Para poder realizar esa conexión y comprobar su correcto funcionamiento, realice estos pasos en la máquina de cotnrol:

Ansible trabaja mediante playboooks. Los playbooks son ficheros YAML que describen las operaciones a realizar sobre los nodos administrados.

Ejemplo 1: Ejecución de comandos de shell

Para ejecutar comandos de la shell, Ansible dispone del módulo shell.

Ejemplo 2: Actualización del sistema

Para tareas de mantenimiento de paquetes, Ansible dispone del módulo apt.

Ejemplo 3: Instalación y desinstalación de paquetes

Para tareas de mantenimiento de paquetes, Ansible dispone del módulo apt.

En el ejemplo siguiente, se instala el paquete aptitude, un interfaz en modo texto de APT.

Para desinstalar el paquete, el playbook sería:

---
- hosts: 'clients'
  tasks:
  - name: 'ejemplo 3'
    become: true
    apt:
      name: 'aptitude'
      state: 'absent'

Saber más

Conferencia en RedHat Summit 2018 (mayo 2018)