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

Костюков Владимир

Команда форума
Админ
Регистрация
04.03.23
Сообщения
344
Реакции
60

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 (клиенты домена) — миньонами.
Для корректной настройки описанной выше конфигурации необходимо выполнить следующие действия:
На всех узлах: Остановить службу salt-minion:
Код:
sudo systemctl stop salt-minion

Удалить содержимое каталога /etc/salt/pki/minion/:
Код:
sudo rm -rf /etc/salt/pki/minion/*

На мастерах: Остановить службу salt-minion:
Код:
sudo systemctl stop salt-minion
Удалить существующие ключи Salt:
Код:
sudo salt-key -D -y
Остановить службу salt-master:
Код:
sudo systemctl stop salt-master
Удалить содержимое каталога /etc/salt/pki/minion/:
Код:
sudo rm -rf /etc/salt/pki/minion/*

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



    Файлы ключей службы salt-master хранятся в следующих местах:
    • закрытый ключ — /etc/salt/pki/master/master.pem;
    • открытый ключ — /etc/salt/pki/master/master.pub.
  • На всех узлах домена запустить службу salt-minion:
    Код:
    sudo systemctl start salt-minion
  • На миньонах:
    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
  • Чтобы в случае недоступности текущего мастера миньон автоматически подключался к другому мастеру, добавить в конфигурационный файл /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.
  • Перезапустить службу salt-minion:
    Код:
    sudo systemctl restart salt-minion
 
Последнее редактирование:
Назад
Сверху Снизу