Необходимо установить систему Salt, состоящую из служб Salt Master и Salt Minion, в инфраструктуре.

Как минимум система Salt и ее зависимости должны быть установлены на узлах, задействованных в сценарии стандартной установки Automation Config.

Настоятельно рекомендуем заранее устанавливать Salt в любой инфраструктуре, для управления которой планируется использовать Automation Config. Установка Salt упрощает и оптимизирует процесс обновления до будущих версий Salt. Прежде чем устанавливать Automation Config, рекомендуем сначала установить систему Salt в вашей инфраструктуре, а затем отслеживать работу этой системы в течение некоторого времени, чтобы убедиться, что она устойчиво функционирует ожидаемым образом.

Ознакомьтесь со следующими руководствами и убедитесь, что при реализации Salt в инфраструктуре среда соответствует передовым практикам.

Чтобы подготовить компьютеры для стандартной установки Automation Config, необходимо установить или модернизировать Salt и Python. Обновленные версии Salt и Python должны присутствовать на всех узлах, участвующих в установке. Если на узлах не будет системы Salt и зависимостей установщика, установка завершится сбоем.

Начиная с выпуска Salt 3006, в проекте Salt используется система обработки пакетов Onedir. Onedir означает «один каталог» (one directory), так как он содержит все исполняемые файлы, необходимые для Salt, включая Python и другие зависимости Salt. Onedir позволяет сразу использовать Salt без дополнительной настройки.
Внимание!: Применительно к проекту Salt настоятельно рекомендуется выполнить модернизацию до onedir, чтобы продолжать получать обновления версии Salt. Начиная с версии Salt 3006, для модернизации будут доступны только пакеты onedir. Дополнительные сведения о версиях Salt и Onedir см. в статье базы знаний № 89728.
Примечание: Пакет установки Salt Crystal больше не поддерживается, поэтому в дальнейшем рекомендуется использовать пакет установки Onedir.

Обязательно:при развертывании на базе существующих решений и развертывании обновлений, начиная с версии Salt 3006, главный сервер Salt запускается от имени пользователя Salt, а не пользователя root, как это было ранее. Это может привести к ошибкам разрешений в рабочих процессах, связанных с RaaS, таких как развертывание служебного сервера и обновление подключаемого модуля Master для RaaS.

Для устранения этой проблемы в файле /etc/salt/master.d/raas.conf измените пользователя на пользователя root: user: root.

Установка 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 также можно включить с помощью VMware Tools. Дополнительные сведения см. в разделе Включение служебного сервера Salt с помощью VMware Tools.

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

На данный момент были установлены службы 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 через Интернет может привести к проблемам в работе сети, если она не изолирована физически. Поэтому настоятельно рекомендуем установить Salt заранее, используя пакет Onedir.

Следует иметь в виду, что при установке Salt в инфраструктуре в физически изолированной системе придется идти на компромиссы.