Чтобы запустить установку SaltStack Config, требуется Salt. Как минимум система Salt и ее зависимости должны быть установлены на узлах, задействованных в сценарии стандартной установки SaltStack Config.
Настоятельно рекомендуем заранее устанавливать Salt в любой инфраструктуре, для управления которой планируется использовать SaltStack Config. Установка Salt упрощает и оптимизирует процесс обновления до будущих версий Salt. Прежде чем устанавливать SaltStack Config, рекомендуем сначала установить систему Salt в вашей инфраструктуре, а затем отслеживать работу этой системы в течение некоторого времени, чтобы убедиться, что она устойчиво функционирует ожидаемым образом.
Ознакомьтесь со следующими руководствами и убедитесь, что при реализации Salt в инфраструктуре среда соответствует передовым практикам.
Чтобы подготовить компьютеры для стандартной установки SaltStack Config, необходимо установить или модернизировать Salt и Python. Обновленные версии Salt и Python должны присутствовать на всех узлах, участвующих в установке. Если на узлах не будет системы Salt и зависимостей установщика, установка завершится сбоем.
Установка зависимостей Salt
Эти зависимости необходимо установить на всех узлах, участвующих в установке. В стандартной установке эти зависимости необходимо установить на всех узлах, на которых будут размещаться главный сервер Salt, RaaS, база данных Redis и база данных PostgreSQL.
- OpenSSL
- Дополнительные пакеты для Enterprise Linux (EPEL)
- Шифрование Python
- Библиотека OpenSSL Python
Чтобы проверить наличие этих зависимостей, выполните следующие действия.
- Откройте терминал и убедитесь, что эти зависимости установлены на каждом узле.
sudo yum list installed | grep openssl sudo yum list installed | grep epel-release sudo yum list installed | grep python36-cryptography sudo yum list installed | grep python36-pyOpenSSL
- Если зависимости отсутствуют, установите их.
sudo yum install openssl sudo yum install epel-release -y sudo yum install python36-cryptography sudo yum install python36-pyOpenSSL
Осторожно!:Убедитесь, что устанавливается пакет
python36-pyOpenSSL
. После установки пакета необходимо настроить SSL, но эту процедуру необходимо завершить до установки.
Установка 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
При необходимости используйте
servicesalt-minionrestart
для перезапуска служебных серверов. - Повторите предыдущие шаги для всех оставшихся узлов.
Принятие ключей служебных серверов на главных серверах
На данный момент были установлены службы 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.