Alta Disponibilidad y Automatización

Escala tu infraestructura. Utilizarás Ansible para automatizar el aprovisionamiento de servidores web, desplegar HAProxy para el balanceo de carga e implementar Keepalived para la conmutación por error de IP virtual.

DevOps EngineerAnsibleDevOpsLinux

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

La automatización y la disponibilidad dependen de mecanismos distintos: aprovisionamiento repetible, distribución de tráfico, una dirección estable y acciones de recuperación cuando un proceso se detiene. Este proyecto configura cada mecanismo en un host Linux para mostrar cómo encajan.

Aprovisionarás Nginx con un playbook Ansible local, distribuirás solicitudes entre dos backends preparados con HAProxy, asignarás una IP virtual con Keepalived y programarás un watchdog Bash para recuperar Nginx. Los ejercicios validan estado y tráfico concretos, explicitando los límites de un solo nodo.

Lo que aprenderás

  • Crear inventario, plantilla y playbook Ansible locales que instalen, inicien y configuren Nginx
  • Configurar HAProxy en modo HTTP con frontend en 80 y backend round robin en 8001 y 8002
  • Verificar mediante solicitudes repetidas que ambos backends preparados son alcanzables por HAProxy
  • Identificar la interfaz de ruta predeterminada y definir una instancia Keepalived VI_1 MASTER con VIP 10.0.0.100
  • Iniciar Keepalived y confirmar que la IP virtual /32 aparece en una interfaz local
  • Escribir un watchdog ejecutable de Nginx, registrar recuperaciones con fecha y programarlo cada minuto en el crontab de root

A quién va dirigido este curso

Este proyecto está dirigido a estudiantes de DevOps y Linux preparados para combinar Ansible, HAProxy, Keepalived, Bash y Cron.

Requisitos previos: Familiaridad con paquetes y servicios Linux, YAML, plays Ansible básicos, proxy HTTP, interfaces e IP virtuales, condicionales shell y crontab; proyecto de evaluación.

Entorno de aprendizaje: Un host Linux de un nodo en navegador con sudo, Ansible, Nginx, HAProxy, Keepalived, Cron, dos backends HTTP locales preparados y red local; no requiere nube ni otro servidor.

Preguntas frecuentes

¿Ansible aprovisiona una flota real de servidores?

No. El inventario apunta al host local. Creas y ejecutas un playbook real para paquetes, archivos y servicios, pero no se prueba orquestación SSH multihost.

¿Los backends HAProxy son máquinas separadas?

No. Son servicios locales en 8001 y 8002. HAProxy escucha en 80, usa round robin HTTP y las solicitudes deben alcanzar “Server 1” y “Server 2”.

¿Keepalived demuestra failover real entre dos nodos?

No. Configuras un único MASTER y verificas VIP 10.0.0.100. No hay BACKUP, toma VRRP ni prueba de retorno.

¿Qué reinicia la recuperación automática?

Solo comprueba e inicia Nginx, registra en /var/log/nginx_recovery.log y corre cada minuto como root. No vigila HAProxy, Keepalived, nodos remotos ni salud de aplicación.

Profesor

labby
Labby
Labby is the LabEx teacher.