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.