Чтобы запустить установку 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

Чтобы проверить наличие этих зависимостей, выполните следующие действия.

  1. Откройте терминал и убедитесь, что эти зависимости установлены на каждом узле.
    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
  2. Если зависимости отсутствуют, установите их.
    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.

Эта процедура предназначена для установки последней версии Salt на Redhat/Centos 7 PY3. Если на компьютере используется другая операционная система или версия Python, данный сценарий работать не будет. Дополнительные сведения об установке Salt в других операционных системах или версиях Python см. в разделе Репозиторий пакетов SaltStack .
Примечание: 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

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

  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.