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 es software libre GPL 3.0 y es la base de Automation controller, un producto comercial de RedHat, que hasta septiembre de 2021 se llamaba Ansible Tower.

Hasta 2020 cada versión de Ansible incluida el propio Ansible y la biblioteca de módulos completa. En 2020 Ansible ha separado el desarrollo del núcleo de Ansible del de los módulos y extensiones (que se agrupan en colecciones). Así, Ansible 3.0, publicada en febrero de 2021 contenía el núcleo de Ansible 2.10 y una selección de colecciones de módulos (la nueva estructura se explica en este post y en este), Ansible 4.0 contenía Ansible core 2.11, Ansible 5.0 contenía Ansible core 2.12, etc.

Ansible Actualizado 19-02-2023 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 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 2.7 2.8 2.9 2.10 3.0 4.0 5.0 6.0 7.0 8.0

Referencias


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

Ansible se instala en la máquina de control. 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.3

Instalaremos Ansible en una máquina virtual de VirtualBox con Ubuntu 18.04.3 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 Packer (2) mediante la plantilla y script siguientes:

Nodos administrados: Ubuntu 18.04.3

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.3 Server. Utilizaremos la imagen creada en el ejemplo 1 de la lección Packer (2) para los nodos administrados

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 control:

Playbooks de Ansible

Ansible trabaja mediante playbooks. 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

Conferencias en RedHat Summit 2018 (mayo 2018)