Высокая доступность и автоматизация

Масштабируйте вашу инфраструктуру. Вы будете использовать Ansible для автоматизации развертывания веб-серверов, HAProxy для балансировки нагрузки и Keepalived для обеспечения отказоустойчивости виртуального IP-адреса.

DevOps EngineerAnsibleDevOpsLinux

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

Автоматизация и доступность опираются на разные механизмы: повторяемое развертывание, распределение трафика, стабильный адрес и восстановление при остановке процесса. В этом проекте каждый механизм настраивается на одном 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_1 MASTER с VIP 10.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, удаленные узлы или здоровье приложения.

Преподаватель

labby
Labby
Labby is the LabEx teacher.