keepalived

ansible-role-keepalived

Статус сборки

Эта роль устанавливает keepalived из репозитория apt/yum. Может настроить несколько проверок служб и несколько VIP.

Все переменные должны быть настроены в host_vars или group_vars.

Зависимости

Должен работать на Centos, Redhat, Ubuntu, Debian.

Пример использования

  • Переменные хоста (должны быть определены в host_vars/...):
keepalived_role:
  "VI_1": "MASTER"              # Может быть MASTER или SLAVE
  "VI_2": "MASTER"
  "VI_3": "SLAVE"
  • Групповые переменные (должны быть определены в group_vars/... для каждого экземпляра keepalived):
keepalived_vrrp_instances:
  "VI_1":
    virtual_router_id: 51       # Будет использоваться в качестве метки интерфейса
    master_priority: 100         # Приоритет. Чем больше, тем лучше
    slave_priority: 50
    shared_iface: eth0
    shared_vips:
      - '10.127.50.3'
    auth_pass: "{{ vault_vrrp_passwords["VI_1"] }}"

  "VI_2":
    virtual_router_id: 52
    master_priority: 100
    slave_priority: 50
    shared_iface: eth0
    shared_vips:
      - '10.127.50.4'
    auth_pass: "{{ vault_vrrp_passwords["VI_2"] }}"

  "VI_3":
    virtual_router_id: 53
    master_priority: 100
    slave_priority: 50
    shared_iface: eth0
    shared_vips:
      - '10.127.50.5'
    auth_pass: "{{ vault_vrrp_passwords["VI_3"] }}"
    checks:
      - chk_nginx
      - chk_keepalived
    settings:
      garp_master_refresh: 20

keepalived_checks:
  "chk_nginx":
    process: nginx              # Мониторинг NGINX с помощью `killall -0`
    period: 2                   # каждые 2 секунды
  "chk_keepalived":
    script: pgrep keepalived    # Мониторинг Keepalived
    period: 2                   # каждые 2 секунды

# В схеме хранения:
vault_keepalived_vrrp_passwords:
    "VI_1": 'YUiszRrpLEXbnMLqDapwWLvPAJ'
    "VI_2": 'rJEUkQnmSRahwRTpjUkFVid'
    "VI_3": 'itkcbxmaXwFBiUZJhePmtX'

# НЕОБЯЗАТЕЛЬНО ДЛЯ УВЕДОМЛЕНИЙ И НАСТРОЙКИ
keepalived_advert_interval: 1
keepalived_notify_from: "keepalived@{{ ansible_fqdn }}"
keepalived_notify_smtp_server: "smtp.example.com"
keepalived_notify_smtp_timeout: "30"
keepalived_notify_list:
  - "[email protected]"
  - "[email protected]"
keepalived_global_defs:
  vrrp_garp_master_refresh: 60

Минимальный пример использования

Вам нужно как минимум определить эти переменные:

# Для каждого хоста
keepalived_role:
  "VI_1": "MASTER"

# Для группы
keepalived_vrrp_instances:
  "VI_1":
    virtual_router_id: 10
    shared_iface: eth0
    shared_vips:
      - '10.127.50.5'
    auth_pass: 'NLxQZYzXUfhjkJqWzVrPMua'

Лицензия

"ЛИЦЕНЗИЯ (расширенная) BEER-WARE" (Исправление 42.0815):

Пока вы сохраняете это уведомление, вы можете делать с этим что угодно. Если мы когда-нибудь встретимся и вы подумайте, что это стоит того, вы можете угостить меня пивом в ответ.

Информация об авторе

Юен Пилот

О проекте

Keepalived Configuration

Установить
ansible-galaxy install uZer/ansible-role-keepalived
Лицензия
other
Загрузки
3875
Владелец
What year is this?