Ansible: Automatización para Ingenieros de Sistemas
Herramienta de automatización de código abierto para configurar sistemas y orquestar flujos de trabajo complejos
DP
by David Pestana
Introducción a Ansible
Automatización sin agentes
Basado en SSH, sin necesidad de instalar agentes adicionales
Configuración como código
Utiliza YAML como lenguaje declarativo en playbooks
Gestión centralizada
Administración unificada de múltiples sistemas
¿Por qué usar Ansible?
Simple y legible
Curva de aprendizaje mínima
Multiplataforma
Linux, Windows, redes, contenedores, cloud
Ideal para DevOps
Administración de sistemas y despliegue de aplicaciones
Arquitectura de Ansible
Control Node
Máquina donde se ejecutan los playbooks
Instalación de Ansible requerida
Gestiona la orquestación
Managed Nodes
Servidores objetivo a configurar
No requieren software adicional
Accesibles vía SSH/WinRM
Inventario en Ansible
Listado de hosts
Define los servidores objetivo
Formatos flexibles
Soporta INI, YAML e inventarios dinámicos
Organización en grupos
Permite operaciones en conjuntos específicos
Playbooks
Formato YAML
Estructura clara y legible
Tasks y Handlers
Definen operaciones y respuestas
Declarativo
Describe estado final deseado
Soporta roles
Modularidad y reutilización
Módulos de Ansible
Gestión de paquetes
apt, yum, dnf, pip
Instalación declarativa
Operaciones de archivos
copy, template, file
Creación, modificación, permisos
Servicios y sistema
service, systemd, reboot
Control de estado operativo
Roles y Reutilización
Estructura estandarizada
Organización predefinida de directorios y archivos
tasks, handlers, vars, templates
defaults, files, meta
Compartición de código
Reutilización entre proyectos
Facilita testing y colaboración
Versiones y dependencias
Ansible Galaxy
Repositorio de roles públicos
Miles de roles disponibles
Comunidad activa
Variables y Plantillas
Definición de variables
Múltiples niveles: playbook, host, grupo
Jinja2 para plantillas
Generación dinámica de configuración
Personalización por entorno
Dev, test, producción con mismos playbooks
Casos de Uso Comunes
Aprovisionamiento
Configuración inicial de servidores
CI/CD
Despliegue automatizado de aplicaciones
Mantenimiento
Backups y parcheado automatizado
Made with