Configuración automatizada de servidores con Ansible
Categoría: DevOps
Ansible es una herramienta potente para automatizar la configuración y administración de servidores. Aprende a crear playbooks que configuren tu infraestructura de forma repetible y sin errores.
¿Qué es Ansible y por qué usarlo?
Ansible es una plataforma de automatización sencilla, sin agentes, que permite administrar configuraciones, implementar aplicaciones y orquestar tareas complejas en servidores de manera eficiente.
Sus principales ventajas incluyen:
- Arquitectura sin agentes que reduce la complejidad
- Lenguaje declarativo basado en YAML para definir estados deseados
- Amplio soporte para módulos que cubren sistemas operativos, cloud y aplicaciones
- Reutilización de código con roles y plantillas
Paso 1: Instalación de Ansible
En la mayoría de sistemas Linux, la instalación es sencilla:
sudo apt update
sudo apt install ansible
ansible --versionPara MacOS se puede usar Homebrew:
brew install ansiblePaso 2: Inventario y conexión a servidores
Define un archivo de inventario con las IPs o nombres de tus servidores:
[webservers]
web1.example.com
web2.example.com
[dbservers]
db1.example.comAnsible usa SSH para conectar sin necesidad de instalar agentes en los servidores.
Paso 3: Crear un playbook básico
Un playbook es un archivo YAML que describe tareas a ejecutar para configurar tus servidores. Ejemplo para instalar Nginx en los servidores web:
---
- name: Configurar servidores web
hosts: webservers
become: yes
tasks:
- name: Instalar Nginx
apt:
name: nginx
state: present
- name: Asegurar que Nginx está activo
service:
name: nginx
state: started
enabled: yesPaso 4: Ejecutar el playbook
Para aplicar esta configuración, ejecuta:
ansible-playbook -i inventario.ini playbook-nginx.ymlAnsible se encargará de conectarse a cada servidor listado y ejecutar las tareas definidas.
Paso 5: Usar roles para organizar el código
Los roles permiten agrupar tareas, handlers, archivos y variables para proyectos más grandes. Se crean con:
ansible-galaxy init nombre_del_rolEsto genera una estructura para mantener tu código limpio y modular.
Consejos avanzados
- ✅ Usa variables y plantillas Jinja2 para personalizar configuraciones
- 📦 Integra Ansible con sistemas de CI/CD para despliegues automáticos
- 🔒 Gestiona secretos con Ansible Vault para proteger credenciales
- 🧪 Ejecuta pruebas con Ansible Molecule para validar roles y playbooks
Conclusión
Ansible es una herramienta fundamental en DevOps para garantizar infraestructuras configuradas de manera consistente, reproducible y escalable. Su facilidad de uso y flexibilidad permiten a los equipos enfocarse en entregar valor sin preocuparse por la configuración manual o los errores humanos.
Si aún no la has probado, este es el momento perfecto para automatizar la configuración de tus servidores con Ansible.





