Авторские статьи

ALD Pro. Балансировка нагрузки на узлы со службой salt-master


Надёжность часто обеспечивается через избыточность, но не всегда легко и просто можно добавить сервер или продублировать службу. В статье рассматривается создание отказоусточивости для службы salt-master.

Окружение
* ALD Pro 1.4.0 — ALD Pro 2.1.0

Вопрос
Как обеспечить балансировку нагрузки между несколькими узлами, на которых запущена служба salt-master?

Ответ
Если развертывание службы salt-master выполняется средствами ALD Pro, то по умолчанию служба salt-minion будет работать только с тем узлом, ключ которого был получен первым. Для более сложных вариантов развертывания требуется соблюдение дополнительных условий:

  • На всех контроллерах домена службой salt-master должна использоваться одна и та же пара ключей.
  • Клиентам домена должно быть разрешено подключаться к любому контроллеру домена через порты 4505 и 4506. Настройка параметров сети в статье не рассматривается.

Далее для краткости узлы со службой salt-master (контроллеры домена и их реплики) будут называться мастерами, а узлы со службой salt-minion (клиенты домена) — миньонами.

Для корректной настройки описанной выше конфигурации необходимо выполнить следующие действия:

  1. На всех узлах:

    1. Остановить службу salt-minion: sudo systemctl stop salt-minion
    2. Удалить содержимое каталога /etc/salt/pki/minion/: sudo rm -rf /etc/salt/pki/minion/*
  2. На мастерах:

    1. Остановить службу salt-minion: sudo systemctl stop salt-minion
    2. Удалить существующие ключи Salt: sudo salt-key -D -y
    3. Остановить службу salt-master: sudo systemctl stop salt-master
    4. Удалить содержимое каталога /etc/salt/pki/minion/: sudo rm -rf /etc/salt/pki/minion/*
  3. Скопировать ключи службы salt-master с основного контроллера домена на остальные мастеры.

    Файлы ключей службы salt-master хранятся в следующих местах:

    • закрытый ключ — /etc/salt/pki/master/master.pem
    • открытый ключ — /etc/salt/pki/master/master.pub
  4. На всех мастерах запустить службу salt-master: sudo systemctl start salt-master
  5. На всех узлах домена запустить службу salt-minion: sudo systemctl start salt-minion
  6. На миньонах:

    1. Проверить содержимое файла /etc/salt/minion.d/masters.conf — он должен содержать адреса всех мастеров, например:
      master:
      - dc.ald.pro
      - dc-rep-1.ald.pro
      - dc-rep-2.ald.pro
      retry_dns: 0
      retry_dns_count: 5
      
    2. Чтобы в случае недоступности текущего мастера миньон автоматически подключался к другому мастеру, добавить в конфигурационный файл /etc/salt/minion.d/masters.conf строки:
      master_type: failover
      master_alive_interval: 60
      random_master: True
      

      где:

      • master_type — тип используемого мастера. Значение failover включает автоматическое переключение на другой мастер, если текущий вышел из строя.
      • master_alive_interval — время в секундах, задающее интервал проверки доступности текущего мастера. Рекомендуемое значение — от 60 до 120.
      • random_master — логический параметр, управляющий выбором нового мастера на замену вышедшему из строя:
        • True — новый мастер будет случайным образом выбран из списка, указанного в конфигурационном файле /etc/salt/miniton.d/masters.conf
        • False — перебор мастеров для подключения будет выполняться в том порядке, в котором они перечислены в конфигурационном файле /etc/salt/minion.d/masters.conf
    3. Перезапустить службу salt-minion: sudo systemctl restart salt-minion

Будет также полезно ознакомится в статье Не получено подтверждение создания задания Salt Stack какие процессы какие открывают TCP порты, которые должны быть доступны для работоспособности в целом домена ALD Pro.

Дополнительные материалы:
ALD Pro - Astra Domain
Как получить информацию о проблемах в работе ALD Pro?

Дата последней правки: 2024-01-22 13:38:43

RSS vasilisc.com   


Разделы

Главная
Новости
Ворох бумаг
Видео Linux
Игры в Linux
Безопасность
Статьи об Astra Linux
Статьи о FreeBSD
Статьи об Ubuntu
Статьи о Snappy
Статьи об Ubuntu Phone
Статьи о Kubuntu
Статьи о Xubuntu
Статьи о Lubuntu
Статьи об Open Source
Карта сайта