keepalived
Keepalived
Эта роль устанавливает keepalived и настраивает его в соответствии с переменными, которые вы передадите роли.
Требования
Без особых требований. Только управление пакетами и файлами в роли.
Начиная с версии 4.0.0 этой роли, требуются следующие минимальные версии ОС:
- Ubuntu: 15.04 или выше
- Debian: Jessie или выше
- CentOS: 7 или выше
Для более старых ОС используйте предыдущую версию этой роли.
Переменные роли
По умолчанию эта роль не настраивает keepalived, она только устанавливает его. Таким образом, keepalived полностью гибок в зависимости от введенных вами данных. Примеры приведены в папке vars. Не пытайтесь их использовать сразу, они не сработают! (Вам нужно определить VIP-адреса, пароли и т. д.). Примеры служат только источником вдохновения.
Основные переменные:
- keepalived_instances: Это обязательный словарь. Он собирает информацию о VIP-адресах, предпочтительном состоянии (мастер/резервный), идентификаторах VRRIP и приоритетах, пароле для аутентификации... Здесь настраиваются такие параметры, как nopreempt. nopreempt позволяет оставаться в резервном состоянии (вместо перехода в настроенное мастер-состояние) при восстановлении мастера после сбоя. Пожалуйста, проверьте шаблон для поддержки дополнительных настроек и оригинальную документацию keepalived для их конфигурации.
- keepalived_sync_groups: Это необязательный словарь. Он группирует элементы, определенные в keepalived_instances, и (если необходимо) позволяет настраивать скрипты уведомлений для каждой группы keepalived_instances. Скрипты уведомлений срабатывают при изменении состояния keepalived и являются факультативными.
- keepalived_virtual_servers: Это необязательный словарь. Он настраивает виртуальный сервер + порт и распределяет трафик между реальными серверами, указанными в подпапке. Посмотрите файлы _example.yaml в vars/, чтобы увидеть пример использования этого словаря. Официальная документация для виртуального сервера keepalived доступна здесь.
- keepalived_scripts: Это необязательный словарь, в котором могут находиться проверочные скрипты, которые могут вызывать скрипты уведомлений.
- keepalived_bind_on_non_local: Эта переменная (по умолчанию "False") определяет, будет ли система, на которой работает keepalived, разрешать ее приложениям связываться с не локальными адресами. Если вы установите ее в true, приложения смогут связываться (и запускаться), даже если у них в данный момент нет VIP, например.
Пожалуйста, ознакомьтесь с примерами для получения дополнительной информации о том, как должны быть настроены эти словари.
Вы можете найти пример плейбука в этом README и другие примеры в tests/
, включая
примеры настройки переменных.
Другие редактируемые переменные перечислены в defaults/main.yml. Пожалуйста, прочитайте пояснение там, если вы хотите их переопределить. Пример скрипта уведомлений также представлен в папке файлов.
Еще одним хорошим источником информации является официальный GIT репозиторий, где вы можете найти полнокомментированный keepalived.conf. Также предоставлены различные официальные примеры документации.
Зависимости
Нет зависимостей
Пример плейбука
Смотрите его в tests/keepalived-install-example.yml
Лицензия
Apache2
Информация об авторе
Жан-Филипп Эврар
This role installs and configure keepalived based on a simple dict
ansible-galaxy install evrardjp/ansible-keepalived