Sobes.tech
Intern

¿Qué es Ansible?

sobes.tech AI

Respuesta de la IA

Ansible es una herramienta de código abierto para la automatización de TI, que se utiliza para gestionar configuraciones, desplegar aplicaciones y orquestar tareas.

Conceptos clave:

  • Módulos: Unidades de código que realizan tareas específicas (instalación de paquetes, copia de archivos).
  • Playbooks: Archivos en lenguaje YAML que describen la secuencia de tareas que se ejecutan en los hosts.
  • Inventario: Lista de hosts (servidores) gestionados por Ansible.

Ejemplo de playbook:

---
# Playbook para instalar un paquete en los hosts

- name: Instalar Nginx
  hosts: webservers # Grupo de hosts del inventario
  become: true # Ejecutar tareas como root (sudo)

  tasks:
    - name: Asegurar que Nginx está instalado
      apt: # Uso del módulo apt para Debian/Ubuntu
        name: nginx
        state: present # Asegurar que el paquete está presente
      # Comentario de ejemplo dentro del código del playbook
      # package:
      #  name: nginx
      #  state: present # Alternativa para CentOS/RHEL - usando el módulo package

    - name: Iniciar el servicio Nginx
      service: # Uso del módulo service
        name: nginx
        state: started # Asegurar que el servicio está en ejecución
        enabled: yes # Asegurar que el servicio se inicia al arrancar el sistema

Ventajas principales:

  • Sin agente: No requiere instalar agentes en los hosts gestionados, usa SSH.
  • Sintaxis sencilla: Los playbooks están escritos en YAML, lo que los hace fáciles de leer.
  • Idempotencia: La ejecución repetida del playbook conduce al mismo estado final.
  • Extensibilidad: Gran cantidad de módulos integrados y opciones para crear los propios.

Aplicaciones:

  • Configuración de servidores.
  • Despliegue de aplicaciones.
  • Orquestación de procesos de trabajo complejos.
  • Automatización de tareas rutinarias de TI.