В рамках задач, выполняемых после установки, необходимо установить, настроить и обновить подключаемый модуль Master. Подключаемый модуль Master позволяет главным серверам Salt обмениваться данными с SaltStack Config. Подключаемый модуль Master содержит различные параметры, которые можно настраивать для повышения производительности, что особенно важно для крупных или перегруженных сред.
Как правило, подключаемый модуль Master устанавливается на каждом главном сервере Salt в среде, которая взаимодействует с SaltStack Config. Например, если используется конфигурация с несколькими главными серверами Salt, то на каждом главном сервере Salt нужно установить подключаемый модуль Master.
Перед началом работы
Установка и настройка подключаемого модуля Master — одна из операций, которые необходимо выполнить в определенном порядке по завершении установки. Выполните один из сценариев установки, а затем ознакомьтесь с процедурой Установка лицензионного ключа, выполняемой после установки.
Когда нужно установить подключаемый модуль Master?
Подключаемый модуль Master необходимо установить на всех главных серверах Salt после новой установки SaltStack Config. Устанавливать подключаемый модуль Master на главных серверах Salt, которым не нужна связь с SaltStack Config, необязательно.
Если использовался сценарий Установка SaltStack Config для менее 1000 узлов, то устанавливать подключаемый модуль Master на узле, где установлены система SaltStack Config и ее связанная архитектура, не требуется. Установщик автоматически устанавливает подключаемый модуль Master на узле главного сервера Salt. При этом подключаемый модуль Master устанавливается только на том главном сервере Salt, где был запущен установщик. При наличии нескольких главных серверов этот подключаемый модуль потребуется установить на всех главных серверах.
При ручной установке SaltStack Config (не рекомендуется) перед установкой подключаемого модуля Master необходимо выполнить следующие действия.
- Установка и настройка базы данных PostgreSQL
- Установка и настройка базы данных Redis
- Включение SSL (необязательно)
Установка подключаемого модуля Master
Чтобы установить подключаемый модуль Master на главном сервере Salt, выполните следующие действия.
- Войдите в учетную запись на главном сервере Salt.
- При необходимости загрузите файл wheel для подключаемого модуля Master с веб-сайта Customer Connect.
Подключаемый модуль Master содержится в файле Automated Installer с расширением .tar.gz. После загрузки и извлечения файла .tar.gz подключаемый модуль Master будет находиться в каталоге
sse-installer/salt/sse/eapi_plugin/files
. - Установите подключаемый модуль Master путем ручной установки обновленного файла wheel Python. Используйте следующие примеры команд, заменив имя файла на точное имя файла wheel.
RHEL/CentOS
sudo pip3 install SSEAPE-file-name.whl --prefix /usr
Ubuntu
sudo pip3 install SSEAPE-file-name.whl
Примечание: Некоторым пользователям может потребоваться изменить синтаксис наpip3.6
илиpip36
в соответствии с операционной системой.
Настройка подключаемого модуля Master
Чтобы настроить главный сервер Salt после установки подключаемого модуля Master, выполните следующие действия.
- Войдите в учетную запись на главном сервере Salt и убедитесь в наличии каталога
/etc/salt/master.d
. Если его еще нет, создайте его. - Сгенерируйте настройки конфигурации главного сервера.
Осторожно!: Если настройки требуется сохранить при модернизации установки, перед выполнением этого шага создайте резервную копию существующего файла конфигурации подключаемого модуля Master. Затем скопируйте соответствующие настройки из существующей конфигурации в новый сгенерированный файл.
sudo sseapi-config --all > /etc/salt/master.d/raas.conf
Если при выполнении этой команды произошла ошибка, это может быть связано с методом, который использовался при первоначальной установке Salt. Если система Salt была установлена с помощью установщика SaltStack Config, то эта установка, скорее всего, содержит автономный пакет, называемый Salt Crystal, для обновления которого нужно выполнить особую процедуру. Дополнительные сведения см. в разделе Устранение неполадок.
- Отредактируйте сгенерированный файл
raas.conf
и обновите значения следующим образом, чтобы проверить сертификат, используемый API-интерфейсом (RaaS), и указать его IP-адрес.Значение Описание sseapi_ssl_validate_cert
Проверяет сертификат, используемый API-интерфейсом (RaaS). Значение по умолчанию —
True
.При использовании сертификатов, выданных вашим собственным ЦС, установите значение
True
и настройте параметрыsseapi_ssl_ca
,sseapi_ssl_cert
иsseapi_ssl_cert:
.В противном случае установите значение
False
, чтобы не проверять сертификат.sseapi_ssl_validate_cert:False
sseapi_server
IP-адрес HTTP-узла RaaS, например
http://example.com
(илиhttps://example.com
, если включен протокол SSL).sseapi_command_age_limit
Определяет период времени (в секундах), по окончании которого потенциально устаревшие задания будут пропускаться. Например, чтобы пропустить задания, устаревшие на один день, установите следующее значение.
sseapi_command_age_limit:86400
Пропущенные задания остаются в базе данных и отображаются с состоянием
Completed
в пользовательском интерфейсе SaltStack Config.В некоторых средах может требоваться, чтобы главный сервер Salt отключался от Интернета на длительное время, а затем выполнял все задания, поставленные в очередь, при возобновлении подключения к Интернету. Если это применимо к вашей среде, установите для этого параметра значение
0
.sseapi_windows_minion_deploy_delay
Укажите задержку для активации всех необходимых служб Windows. Значение по умолчанию — 180 секунд. sseapi_linux_minion_deploy_delay
Укажите задержку для активации всех необходимых служб Linux. Значение по умолчанию — 90 секунд. - НЕОБЯЗАТЕЛЬНО. Этот шаг необходимо выполнять только для установок, осуществленных вручную. Чтобы проверить подключение к SSL перед установкой связи с подключаемым модулем Master, отредактируйте сгенерированный файл
raas.conf
для обновления следующих значений. Если эти значения не обновить, то в подключаемом модуле Master будет использоваться сертификат, созданный по умолчанию.Значение Описание sseapi_ssl_ca
Путь к файлу ЦС. sseapi_ssl_cert
Путь к сертификату. Значение, заданное по умолчанию, — /etc/pki/raas/certs/localhost.crt
.sseapi_ssl_key
Путь к закрытому ключу сертификата. Значение, заданное по умолчанию, — /etc/pki/raas/certs/localhost.key
.id
Закомментируйте эту строку, добавив #
в ее начало. Выполнять это действие необязательно. - НЕОБЯЗАТЕЛЬНО. Обновите параметры, связанные с производительностью. В крупных и высоконагруженных средах эффективность обмена данными между главным сервером Salt и SaltStack Config можно улучшить с помощью следующих параметров.
- Включите очередь событий (доступно в системе Salt версии 2019.2.2 и более поздних). На главном сервере Salt события можно записывать в очередь и передавать модулям возврата по несколько событий в пакете в рамках одной транзакции. По умолчанию механизм формирования очереди отключен. Чтобы включить очередь событий, в файле конфигурации подключаемого модуля Master системы Salt выполните следующие настройки.
event_return_queue:2500 event_return_queue_max_seconds:5
Рекомендуемый максимальный размер очереди — 2500 событий (как показано ниже). При заполнении очереди события отправляются в модуль возврата, а очередь сбрасывается. Для небольших или менее загруженных сред рекомендуется более низкое значение.
В некоторых случаях шина событий Salt может быть не настолько загружена, чтобы очередь регулярно заполнялась полностью. Параметр
event_return_queue_max_seconds
вызывает сброс очереди в тот момент, когда время пребывания в очереди самого раннего события превышает заданное значение, независимо от степени заполнения очереди. - Включите и настройте модули
eventqueue
иrpcqueue
.Эти модули передают некоторые взаимодействия с SaltStack Config специализированным процессам, освобождая программные механизмы, напрямую влияющие на производительность. Пока модули ожидают взаимодействия с SaltStack Config, полезные данные находятся в локальной файловой системе главного сервера Salt, поэтому при его перезапуске данные будут сохраняться.
Чтобы включить эти модули, раскомментируйте следующие параметры в файле конфигурации подключаемого модуля Master системы Salt (
raas.conf
).engines: - sseapi: {} - eventqueue: {} - rpcqueue: {} - jobcompletion: {} - keyauth: {}
Чтобы настроить модуль
eventqueue
, раскомментируйте и обновите следующие параметры.sseapi_event_queue: name: sseapi-events strategy: always push_interval: 5 batch_limit: 2000 age_limit: 86400 size_limit: 35000000 vacuum_interval: 86400 vacuum_limit: 350000 forward: []
При корректировке параметров очереди следует учитывать их совместное действие. Например, если принять среднюю скорость шины событий Salt равной 400 событиям в секунду, то при использовании приведенных выше настроек события в очереди главного сервера Salt будут накапливаться в течение примерно 24 часов, прежде чем самые ранние из них будут удалены из-за ограничений по размеру очереди или сроку хранения.
Чтобы настроить модуль
rpcqueue
, раскомментируйте и обновите следующие параметры.sseapi_rpc_queue: name: sseapi-rpc strategy: always push_interval: 5 batch_limit: 500 age_limit: 3600 size_limit: 360000 vacuum_interval: 86400 vacuum_limit: 100000
- Включите кэширование нагрузки.
sseapi_local_cache: load:3600
Примечание: Если включен модульrpcqueue
, необходимо также включить кэширование нагрузки, чтобы главный сервер Salt правильно обрабатывал задания. - Ограничьте размер полезных данных в параметрах grain служебных серверов.
sseapi_max_minion_grains_payload:2000
- Включите пропуск заданий, которые созданы раньше определенного времени (в секундах). Например, чтобы пропустить задания старше одного дня, используйте значение
86400
. Если установлено значение0
, эта функция отключена.sseapi_command_age_limit:0
Примечание:Это помогает предотвратить непредвиденный запуск старых команд, хранящихся в базе данных, во время обновления.
Используя очередь событий в Salt вместе с механизмами формирования очереди, кэшированием нагрузки, ограничением размера полезных данных в параметрах grain служебных серверов и предельным сроком хранения команд в подключаемом модуле Master системы Salt, можно увеличить пропускную способность и уменьшить задержку при взаимодействии главного сервера Salt и SaltStack Config, осуществляемом программными механизмами, которые напрямую влияют на производительность.
- Включите очередь событий (доступно в системе Salt версии 2019.2.2 и более поздних). На главном сервере Salt события можно записывать в очередь и передавать модулям возврата по несколько событий в пакете в рамках одной транзакции. По умолчанию механизм формирования очереди отключен. Чтобы включить очередь событий, в файле конфигурации подключаемого модуля Master системы Salt выполните следующие настройки.
- Перезапустите службу Master главного сервера.
sudo systemctl restart salt-master
- НЕОБЯЗАТЕЛЬНО. При желании можно выполнить тестовое задание и убедиться, что подключаемый модуль Master обеспечивает связь между главным сервером и узлом RaaS.
salt -v '*' test.ping
Даже если никакие действия не отображаются (как будто никакие служебные серверы не подключены), скорее всего, это указывает на правильную конфигурацию.
Справочник по параметрам конфигурации
Эти параметры в файле конфигурации позволяют всем главным серверам Salt подключаться к API-интерфейсу (RaaS). Их можно найти в файле конфигурации /etc/salt/master.d/raas.conf
.
Параметры главного сервера Salt в файле raas.conf обладают преимуществом перед существующими настройками в /etc/salt/master
. Если настройки параметров fileserver_backend
или ext_pillar
в /etc/salt/master
изменены, их необходимо объединить вручную, чтобы они содержались только в одном файле. Чтобы изменить приоритет, можно переупорядочить конечные серверы.
Общие параметры конфигурации описываются в следующей таблице.
Параметр | Описание |
---|---|
id |
Идентификатор главного сервера Salt; если не задан, генерируется автоматически |
sseapi_server |
URL-адрес сервера SSEAPI, например https://sse.example.com:443 |
engines |
Модули Salt, которые рекомендуется включить: sseapi , eventqueue , rpcqueue , jobcompletion и keyauth . |
master_job_cache |
sseapi для использования кэша заданий главного сервера SaltStack Config |
event_return |
Модуль возврата Salt, рекомендуется sseapi для использования модуля возврата событий SaltStack Config |
ext_pillar |
Внешние источники хранилищ pillar, рекомендуется sseapi |
fileserver_backend |
Конечные системы файловых серверов, рекомендуются sseapi и roots |
sseapi_update_interval |
Интервал между получением обновлений от файлового сервера (в секундах, по умолчанию — 60) |
sseapi_poll_interval |
Интервал между опросами SaltStack Config для получения новых данных (в секундах, по умолчанию — 30) |
sseapi_jce_poll_interval |
Задержка между итерациями в модуле jobcompletion , чтобы на главный сервер Salt отправлялось не более 5760 команд find_job в день (в секундах, по умолчанию 15) |
sseapi_timeout |
Время ожидания для вызовов API-интерфейса (RaaS) (в секундах, по умолчанию — 200) |
sseapi_pubkey_path |
Путь к файлу открытого ключа для проверки подлинности главного сервера Salt в SaltStack Config |
sseapi_key_rotation |
Интервал замены ключа для проверки подлинности SaltStack Config главного сервера Salt (в секундах, по умолчанию — 86400) |
sseapi_cache_pillar |
Следует ли кэшировать данные хранилищ pillar в SaltStack Config (True или False, по умолчанию — False) |
sseapi_cluster_id |
(Необязательно.) Имя кластера главных серверов Salt для объединения в кластеры в SaltStack Config |
sseapi_failover_master |
Используется ли этот главный сервер Salt для аварийного переключения (True или False, по умолчанию — False) |
sseapi_command_age_limit |
Пропуск команд API-интерфейса (RaaS) старше определенного времени (в секундах, 0 — параметр выключен, по умолчанию — 0) |
В следующей таблице описываются настройки SSL.
Параметр | Описание |
---|---|
sseapi_ssl_key |
Путь к закрытому ключу сертификата |
sseapi_ssl_cert |
Путь к сертификату |
sseapi_ssl_validate_cert |
Следует ли проверять SSL-сертификат SaltStack Config (True или False, по умолчанию — True) |
В следующей таблице описываются параметры механизма очереди событий, которые отображаются под заголовком sseapi_event_queue
.
Параметр | Описание |
---|---|
name |
Имя очереди событий (имя по умолчанию — sseapi-events , его менять не требуется) |
strategy |
Когда требуется создавать очереди событий (always , on_failure или never , по умолчанию — never ) |
push_interval |
Интервал между отправкой событий в SaltStack Config (в секундах, по умолчанию — 5) |
batch_limit |
Максимальное количество событий для отправки в SaltStack Config за интервал (значение по умолчанию — 2000) |
age_limit |
Максимальный срок хранения события в очереди; старые события (в секундах, по умолчанию — 86 400) |
size_limit |
Максимальный размер очереди; старые события сбрасываются (в секундах, по умолчанию — 35 000 000) |
vacuum_interval |
Интервал между очистками базы данных очереди (в секундах, по умолчанию — 86 400) |
vacuum_limit |
Максимальный размер очереди для очистки базы данных очереди (в событиях, по умолчанию — 350 000) |
forward |
Дополнительные модули возврата для отправки событий при сбросе очереди (значение по умолчанию — нет) В элементе конфигурации sseapi_event_queue: # ...other queue settings... forward: - rawfile_json # rawfile_json returner configuration rawfile_json.filename: /var/log/salt/events.json |
В следующей таблице описываются настройки механизма очереди RPC, которые отображаются под заголовком sseapi_rpc_queue
.
Параметр | Описание |
---|---|
name |
Имя очереди событий (имя по умолчанию — sseapi-rpc , его менять не требуется) |
strategy |
Когда требуется создавать очереди событий (always , on_failure или never , по умолчанию — never ) |
push_interval |
Интервал между вызовами в SaltStack Config (в секундах, по умолчанию — 5) |
batch_limit |
Максимальное количество вызовов, отправляемых в SaltStack Config, за интервал (по умолчанию — 500) |
age_limit |
Максимальный срок хранения вызова в очереди; старые записи сбрасываются (в секундах, по умолчанию — 3600) |
size_limit |
Максимальный размер очереди; старые записи сбрасываются (в событиях, по умолчанию — 360 000) |
vacuum_interval |
Интервал между очистками базы данных очереди (в секундах, по умолчанию — 86 400) |
vacuum_limit |
Максимальный размер очереди для очистки базы данных очереди (в записях, по умолчанию — 100 000) |
В следующей таблице описываются параметры пути. После создания начальной конфигурации при изменении этих параметров следует соблюдать осторожность. Модули копируются в эти каталоги в процессе установки. Однако добавление дополнительных путей не приведет к негативным последствиям.
Параметр | Описание |
---|---|
beacons_dirs |
Путь (пути) к внешним модулям маяков |
engines_dirs |
Путь (пути) к внешним программным модулям |
fileserver_dirs |
Путь (пути) к внешним модулям файловых серверов |
pillar_dirs |
Путь (пути) к внешним модулям pillar |
returner_dirs |
Путь (пути) к внешним модулям возврата |
roster_dirs |
Путь (пути) к внешним модулям состава |
runner_dirs |
Путь (пути) к внешним модулям выполнения |
module_dirs |
Путь (пути) к внешним модулям Salt |
proxy_dirs |
Путь (пути) к внешним модулям прокси-серверов |
metaproxy_dirs |
Путь (пути) к внешним модулям metaproxy |
states_dirs |
Путь (пути) к внешним модулям состояний |
Следующие шаги
По завершении установки и настройки подключаемого модуля Master необходимо выполнить дополнительные действия, требуемые после установки. Далее требуется настроить узел RaaS. Сведения об этой задаче, выполняемой после установки, см. в разделе Проверка файла конфигурации RaaS.