Необходимо установить систему Salt, состоящую из служб Salt Master и Salt Minion, в инфраструктуре.
Как минимум система Salt и ее зависимости должны быть установлены на узлах, задействованных в сценарии стандартной установки SaltStack Config.
Настоятельно рекомендуем заранее устанавливать Salt в любой инфраструктуре, для управления которой планируется использовать SaltStack Config. Установка Salt упрощает и оптимизирует процесс обновления до будущих версий Salt. Прежде чем устанавливать SaltStack Config, рекомендуем сначала установить систему Salt в вашей инфраструктуре, а затем отслеживать работу этой системы в течение некоторого времени, чтобы убедиться, что она устойчиво функционирует ожидаемым образом.
Ознакомьтесь со следующими руководствами и убедитесь, что при реализации Salt в инфраструктуре среда соответствует передовым практикам.
Чтобы подготовить компьютеры для стандартной установки SaltStack Config, необходимо установить или модернизировать Salt и Python. Обновленные версии Salt и Python должны присутствовать на всех узлах, участвующих в установке. Если на узлах не будет системы Salt и зависимостей установщика, установка завершится сбоем.
Установка Salt на главных серверах Salt
При стандартной установке на узле главного сервера Salt необходимо установить как службу Salt Master, так и службу Salt Minion.
firewall-cmd --permanent --zone=public --add-port=4505-4506/tcp
firewall-cmd --reload
- Установите репозиторий и ключ проекта Salt.
sudo yum install https://repo.saltstack.com/py3/redhat/salt-py3-repo-latest.el7.noarch.rpm
- Очистите кэш.
sudo yum clean expire-cache
- Установите службы Salt Master и Salt Minion на узле главного сервера Salt.
sudo yum install salt-master sudo yum install salt-minion
- Создайте файл
master.conf
в каталоге/etc/salt/minion.d
. Задайте, чтобы IP-адрес главного сервера Salt указывал на себя.master: localhost
- Запустите службы Salt Master и Salt Minion.
sudo systemctl start salt-master sudo systemctl enable salt-minion sudo systemctl start salt-minion
При необходимости используйте
service salt-minion restart
для перезапуска служебных серверов.
Установка Salt на служебных серверах Salt
После установки Salt на главном сервере Salt, как описано в предыдущем разделе, необходимо установить службу Minion (не службу Master) на трех узлах, которые станут узлами RaaS, базы данных Redis и базы данных PostgreSQL.
Затем необходимо настроить на этих служебных серверах связь с главным сервером Salt. Дополнительные сведения об установке службы Minion см. в разделе Настройка службы Minion в документации по Salt.
Чтобы установить службу Minion, выполните следующие действия.
- Установите только службу Minion с помощью следующей команды.
sudo yum install salt-minion
- При ответе на все запросы нажимайте
y
, чтобы принять все изменения. - Чтобы настроить каждый служебный сервер для связи с главным сервером Salt, создайте файл
master.conf
в каталоге/etc/salt/minion.d
. В этом файле укажите IP-адрес главного сервера Salt. Например:master: 192.0.2.1
- Запустите службу Minion.
sudo systemctl enable salt-minion sudo systemctl start salt-minion
При необходимости используйте
service salt-minion restart
для перезапуска служебных серверов. - Повторите предыдущие шаги для всех оставшихся узлов.
Принятие ключей служебных серверов на главных серверах
На данный момент были установлены службы Salt Master и Minion, а на служебных серверах был указан IP-адрес главного сервера Salt. Теперь, чтобы главный сервер Salt мог отправлять команды на служебные серверы, необходимо принять ключи служебных серверов на главном сервере Salt.
Прежде чем продолжить
- Убедитесь, что служба главного сервера Salt включена и запущена.
- Убедитесь, что служебный сервер включен и запущен на всех узлах.
Чтобы принять ключи, выполните следующие действия.
- В терминале главного сервера Salt запросите список всех ключей, которые имеются на главном сервере Salt.
salt-key -L
- Убедитесь, что в
Unacceptedkeys
перечислены все идентификаторы служебных серверов.Если идентификаторы служебных серверов отображаются в
Acceptedkeys
, никаких дополнительных действий выполнять не требуется. - Примите каждый идентификатор служебного сервера с помощью следующей команды, заменяя <your-minion-id> на идентификатор из вашей сети.
salt-key -a <your-minion-ID>
Использование параметра
salt-key-A
обеспечит принятие всех ключей. - В качестве ответа на все запросы введите
y
. - Выполните команду
salt-key-L
еще раз и убедитесь, что все служебные серверы отображаются вAcceptedkeys
.
Установка Salt в физически изолированной системе
Единственное исключение из общей рекомендации устанавливать Salt предварительно — ситуация, когда SaltStack Config устанавливается в физически изолированной системе. Следует иметь в виду, что при установке Salt в инфраструктуре в физически изолированной системе придется идти на компромиссы.
Установщик SaltStack Config в ходе своей работы может установить последнюю устойчивую версию Salt. Однако установщик SaltStack Config устанавливает особую версию Salt — так называемый пакет Salt Crystal. Этот пакет в первую очередь предназначен для применения в физически изолированных системах, в которых Salt невозможно обновить через Интернет. Поскольку версия Salt в пакете Salt Crystal предназначена для физически изолированных систем, ее потребуется обновлять вручную. Сведения об обновлении пакета Salt Crystal см. в разделе Модернизация Salt Crystal.
Отсутствие возможности регулярно обновлять Salt через Интернет может привести к проблемам в работе сети, если она не изолирована физически. Поэтому настоятельно рекомендуем установить Salt заранее и не использовать пакет Salt Crystal.