Необходимо установить систему 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.

Эта процедура предназначена для установки последней версии Salt на Redhat/Centos 7 PY3. Если на компьютере используется другая операционная система или версия Python, данный сценарий работать не будет. Дополнительные сведения об установке Salt в других операционных системах или версиях Python см. в разделе Руководство по установке Salt.
Примечание: Centos 7 по умолчанию блокирует подключения к главному серверу Salt. Чтобы разрешить подключение, необходимо создать правила брандмауэра:
  • firewall-cmd --permanent --zone=public --add-port=4505-4506/tcp
  • firewall-cmd --reload
Дополнительные сведения см. в разделе Открытие доступа в брандмауэре для Salt.
  1. Установите репозиторий и ключ проекта Salt.
    sudo yum install https://repo.saltstack.com/py3/redhat/salt-py3-repo-latest.el7.noarch.rpm
  2. Очистите кэш.
    sudo yum clean expire-cache
  3. Установите службы Salt Master и Salt Minion на узле главного сервера Salt.
    sudo yum install salt-master
    sudo yum install salt-minion
  4. Создайте файл master.conf в каталоге /etc/salt/minion.d. Задайте, чтобы IP-адрес главного сервера Salt указывал на себя.
    master: localhost
  5. Запустите службы 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, выполните следующие действия.

  1. Установите только службу Minion с помощью следующей команды.
    sudo yum install salt-minion
  2. При ответе на все запросы нажимайте y, чтобы принять все изменения.
  3. Чтобы настроить каждый служебный сервер для связи с главным сервером Salt, создайте файл master.conf в каталоге /etc/salt/minion.d. В этом файле укажите IP-адрес главного сервера Salt. Например:
    master: 192.0.2.1
  4. Запустите службу Minion.
    sudo systemctl enable salt-minion
    sudo systemctl start salt-minion

    При необходимости используйте service salt-minion restart для перезапуска служебных серверов.

  5. Повторите предыдущие шаги для всех оставшихся узлов.

Принятие ключей служебных серверов на главных серверах

На данный момент были установлены службы Salt Master и Minion, а на служебных серверах был указан IP-адрес главного сервера Salt. Теперь, чтобы главный сервер Salt мог отправлять команды на служебные серверы, необходимо принять ключи служебных серверов на главном сервере Salt.

Прежде чем продолжить

  • Убедитесь, что служба главного сервера Salt включена и запущена.
  • Убедитесь, что служебный сервер включен и запущен на всех узлах.

Чтобы принять ключи, выполните следующие действия.

  1. В терминале главного сервера Salt запросите список всех ключей, которые имеются на главном сервере Salt.
    salt-key -L
  2. Убедитесь, что в Unacceptedkeys перечислены все идентификаторы служебных серверов.

    Если идентификаторы служебных серверов отображаются в Acceptedkeys, никаких дополнительных действий выполнять не требуется.

  3. Примите каждый идентификатор служебного сервера с помощью следующей команды, заменяя <your-minion-id> на идентификатор из вашей сети.
    salt-key -a <your-minion-ID>

    Использование параметра salt-key -A обеспечит принятие всех ключей.

  4. В качестве ответа на все запросы введите y.
  5. Выполните команду 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.