keepalived

Роль Keepalived

:warning: Этот проект архивирован! :warning:

Эта роль была перенесена в нашу коллекцию hifis.toolkit:

CI Status Ansible Role: hifis.keepalived Ansible Role Downloads Apache-2.0 Licensed Latest release

Роль Ansible для настройки Keepalived в контексте высокой доступности и масштабируемости.

В настоящее время поддерживаемые платформы:

  • Ubuntu 22.04 LTS
  • Ubuntu 20.04 LTS

Требования

Отсутствуют.

Переменные роли

Обязательные переменные, значение которых не задано по умолчанию

IP-адреса одноадресных пиров экземпляра Keepalived

Установите IP-адреса одноадресных пиров экземпляра Keepalived:

keepalived_unicast_peers: 
  - '192.168.33.15'
  - '192.168.33.16'

Виртуальный IP-адрес экземпляра Keepalived

Установите виртуальный IP-адрес экземпляра Keepalived:

keepalived_virtual_ip_address: '192.168.33.100'

Необязательный: Список конфигураций виртуальных IP-адресов

Если необходимо настроить несколько виртуальных IP-адресов, вы можете определить эту необязательную переменную. Она имеет приоритет над keepalived_virtual_ip_address.

keepalived_virtual_ipaddress_configs:
  - "10.0.10.15 dev eth0"
  - "10.0.11.15 dev eht1"

Все остальные переменные по умолчанию

Версия Keepalived

Переменная для установки версии Keepalived на определенное значение:

keepalived_version: '2.2.8'

Список зависимостей Keepalived

Список зависимостей Keepalived, которые будут установлены:

keepalived_dependencies:
  - 'build-essential'
  - 'curl'
  - 'gcc'
  - 'libssl-dev'
  - 'libnl-3-dev'
  - 'libnl-genl-3-dev'
  - 'libsnmp-dev'

Путь к исполняемому файлу Keepalived

Путь к исполняемому файлу Keepalived:

keepalived_executable_path: '/usr/local/sbin/keepalived'

URL для загрузки Keepalived

URL, с которого можно загрузить Keepalived:

keepalived_download_url: 'https://www.keepalived.org/software/keepalived-{{ keepalived_version }}.tar.gz'

Имя шаблона конфигурационного файла Keepalived

Имя файла шаблона для конфигурационного файла Keepalived:

keepalived_conf_template: 'keepalived.conf.j2'

Директория конфигурации Keepalived

Директория, содержащая конфигурационные файлы Keepalived:

keepalived_conf_dir: '/etc/keepalived'

Путь к конфигурационному файлу Keepalived

Путь к конфигурационному файлу Keepalived:

keepalived_conf_file_path: '/etc/keepalived/keepalived.conf'

Путь к файлу sysconfig Keepalived

Путь к файлу sysconfig Keepalived:

keepalived_sysconfig_file_path: "/etc/keepalived/keepalived.sysconfig"

Имя файла шаблона сервиса systemd

Имя файла шаблона для сервиса systemd:

keepalived_service_template: 'keepalived.service.j2'

Путь к файлу сервиса Keepalived

Путь к файлу сервиса Keepalived:

keepalived_service_file_path: '/etc/systemd/system/keepalived.service'

Путь к файлу PID Keepalived

Путь к файлу PID Keepalived:

keepalived_pid_file_path: "/run/keepalived/keepalived.pid"

Настройка адреса электронной почты для уведомлений

Настройка получателя уведомлений по электронной почте:

keepalived_notification_email: 'name@localhost'

Настройка отправителя уведомлений

Настройка отправителя уведомлений по электронной почте:

keepalived_notification_email_from: 'keepalived@localhost'

Настройка SMTP-сервера

Настройка IP-адреса или FQDN SMTP-сервера:

keepalived_smtp_server: '127.0.0.1'

Состояние экземпляра Keepalived MASTER или BACKUP

Установите состояние экземпляра Keepalived на MASTER или BACKUP:

keepalived_state: 'BACKUP'

Приоритет экземпляра Keepalived

Установите приоритет экземпляра Keepalived:

keepalived_priority: '99'

Максимальный увеличенный автоматический приоритет

Максимальный приоритет, до которого Keepalived может автоматически увеличиваться (должен быть в диапазоне [0, 99] или -1 для отключения):

keepalived_max_auto_priority: '99'

Идентификатор маршрутизатора экземпляра Keepalived

Установите уникальное имя маршрутизатора Keepalived:

keepalived_router_id: 'KEEPALIVED_2'

Вес экземпляра Keepalived

Настройте приоритет по этому весу:

keepalived_weight: '0'

Одноадресный IP-адрес источника экземпляра Keepalived

Установите одноадресный IP-адрес источника экземпляра Keepalived:

keepalived_unicast_src_ip: '{{ ansible_default_ipv4.address }}'

Сетевая интерфейс экземпляра Keepalived

Установите сетевой интерфейс, с которым связан плавающий IP-адрес:

keepalived_interface: "{{ ansible_default_ipv4.interface }}"

Виртуальный IP-адрес и сетевой интерфейс экземпляра Keepalived

Установите виртуальный IP-адрес и сетевой интерфейс экземпляра Keepalived:

keepalived_virtual_ipaddress_config: "{{ keepalived_virtual_ip_address }} dev {{ keepalived_interface }}"

Пароль для аутентификации экземпляра Keepalived

Установите пароль аутентификации экземпляра Keepalived:

keepalived_auth_pass: 'changeme'

Включить безопасность скриптов

Флаг для включения безопасности скриптов, чтобы предотвратить выполнение скрипта пользователем root, если любая часть пути доступна для записи не-root пользователем:

keepalived_set_script_security_flag: true

Пользователь для выполнения скрипта Keepalived

Укажите имя пользователя для запуска скрипта Keepalived:

keepalived_script_user: 'haproxy'

Группа для выполнения скрипта Keepalived

Укажите имя группы для запуска скрипта Keepalived:

keepalived_script_group: 'haproxy'

Флаг для активации отслеживания процессов

Активируйте отслеживание процессов в конфигурации Keepalived:

keepalived_enable_process_tracking: true

Определите, какой процесс должен отслеживаться

keepalived_track_process: 'haproxy'

Флаг для активации скрипта для выполнения

Активируйте скрипт, который выполняется Keepalived:

keepalived_activate_script: false

Имя скрипта для выполнения

Укажите имя скрипта, который будет выполнен Keepalived:

keepalived_script_name: 'chk_haproxy_process'

Команда скрипта для выполнения

Укажите команду, которая будет выполнена Keepalived:

keepalived_script_command: '/usr/bin/killall -0 haproxy'

Зависимости

Отсутствуют.

Примечание: Эта роль предназначена для использования с ролью, но не ограничивается ролью hifis.haproxy.

Пример плейбука

- hosts: loadbalancers
  roles:
    - role: hifis.keepalived
      vars:
        keepalived_virtual_ip_address: '192.168.33.100'
        keepalived_unicast_peers:
          - '192.168.33.15'
          - '192.168.33.16'

Лицензия

Apache-2.0

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

Команда программного обеспечения HIFIS

О проекте

A role to set up Keepalived in a high availability and scalability context.

Установить
ansible-galaxy install hifis-net/ansible-role-keepalived
Лицензия
other
Загрузки
26524
Владелец
Helmholtz Digital Services for Science — Collaboration made easy.