Автоматизация и доступность опираются на разные механизмы: повторяемое развертывание, распределение трафика, стабильный адрес и восстановление при остановке процесса. В этом проекте каждый механизм настраивается на одном Linux-хосте, чтобы показать их совместную работу.
Вы развернете Nginx локальным Ansible-playbook, распределите запросы между двумя готовыми backend через HAProxy, назначите VIP с Keepalived и запланируете Bash-watchdog для восстановления Nginx. Ограничения одного узла остаются явными.
Чему вы научитесь
- Создавать локальные inventory, template и playbook Ansible для установки, запуска и настройки Nginx
- Настраивать HAProxy в HTTP с frontend
80и round-robin backend на8001и8002 - Повторными запросами подтверждать доступность обоих подготовленных backend через HAProxy
- Находить интерфейс default route и определять Keepalived
VI_1MASTER с VIP10.0.0.100 - Запускать Keepalived и подтверждать виртуальный адрес
/32на локальном интерфейсе - Писать исполняемый watchdog Nginx, журналировать восстановления и запускать его каждую минуту из root crontab
Для кого этот курс
Проект предназначен для изучающих DevOps и Linux, готовых объединить Ansible, HAProxy, Keepalived, Bash и Cron.
Предварительные требования: Linux-пакеты и службы, YAML, простые Ansible plays, HTTP proxy, интерфейсы и VIP, shell-условия и crontab; проверочный проект.
Учебная среда: Одноузловой Linux в браузере с sudo, Ansible, Nginx, HAProxy, Keepalived, Cron, двумя готовыми локальными HTTP backend и сетью; облако и второй сервер не нужны.
Часто задаваемые вопросы
Ansible развертывает настоящую группу серверов?
Нет. Inventory указывает на локальный хост. Playbook реально управляет пакетами, файлами и службой, но multi-host SSH не тестируется.
Backend HAProxy находятся на разных машинах?
Нет. Это локальные службы на 8001 и 8002. HAProxy слушает 80, и запросы должны получать “Server 1” и “Server 2”.
Keepalived демонстрирует настоящий failover между узлами?
Нет. Настраивается один MASTER и проверяется VIP 10.0.0.100. BACKUP, VRRP-перехват и failback отсутствуют.
Что перезапускает автоматическое восстановление?
Только Nginx. Оно пишет в /var/log/nginx_recovery.log и запускается root каждую минуту, не контролируя HAProxy, Keepalived, удаленные узлы или здоровье приложения.





