Clustered wordpress instance (incl pacemaker, keepalived, nginx, php-fpm, percona cluster, proxysql...)
- Развёртываем виртуальные машины с помощью терраформ-скрипта на площадке хостера advanced-hosting
- С помощью ansible конфигурируем виртуалки
# ansible-playbook ansible/playbooks/environment.yml
- Терраформ раскатывает 8 виртуалок
- Ансибл ставит на всех нужный софт и готовые конфигурации
- На фронте стоит nginx прокся, которая перенаправляет запросы к плавающему адресу keepalived'a
- Кластер pacemaker (работающий по схеме а/b) управляет установленным под его управление nginx'ы, php-fpm, кластерная файловая система gfs2 clvm с примонтированным диском (mnt/gfs2/...) служит для хранения статики сайта. Диск передан через multipath iscsi.
- Подключение к базе данных организовано через proxysql.
- Кластер базы данных сделан по схеме мастер-мастер. Отказоустойчивость обеспечена. Не критичным для работы системы является выход из строя одной ноды.
- Для проверки стенда необходимо выполнить развёртывание. Пройти по адресу reverse-proxy (который выводит терраформ-скрипт после отработки), ввести фейковые данные и применить какую-либо тему. Перейти в другой закладке (лучше в другом браузере) по адресу реверс-прокси на развёрнутый сайт. Зайти в кластер на любую ноду в pacemaker или pxc-кластер и отключить любую из нод. В браузере работоспособность сайта будет не нарушена. После тестов - включить в работу отключенную ноду.
Задание выполнено. Раскатка ролей и скриптов происходит без ошибок. Идемпотентность обеспечена.