В рамках задач, выполняемых после установки, необходимо установить, настроить и обновить подключаемый модуль Master. Подключаемый модуль Master позволяет главным серверам Salt обмениваться данными с Automation Config. Подключаемый модуль Master содержит различные параметры, которые можно настраивать для повышения производительности, что особенно важно для крупных или перегруженных сред.
Как правило, подключаемый модуль Master устанавливается на каждом главном сервере Salt в среде, которая взаимодействует с Automation Config. Например, если используется конфигурация с несколькими главными серверами Salt, то на каждом главном сервере Salt нужно установить подключаемый модуль Master.
Перед началом работы
Установка и настройка подключаемого модуля Master — одна из операций, которые необходимо выполнить в определенном порядке по завершении установки. Выполните один из сценариев установки, а затем ознакомьтесь с процедурой Установка лицензионного ключа, выполняемой после установки.
pip3 install pyjwt==2.3.0
Когда нужно установить подключаемый модуль Master?
Подключаемый модуль Master необходимо установить на всех главных серверах Salt после новой установки Automation Config. Устанавливать подключаемый модуль Master на главных серверах Salt, которым не нужна связь с Automation Config, необязательно.
Если использовался сценарий Установка SaltStack Config для менее 1000 узлов, то устанавливать подключаемый модуль Master на узле, где установлены система Automation Config и ее связанная архитектура, не требуется. Установщик автоматически устанавливает подключаемый модуль Master на узле главного сервера Salt. При этом подключаемый модуль Master устанавливается только на том главном сервере Salt, где был запущен установщик. При наличии нескольких главных серверов этот подключаемый модуль потребуется установить на всех главных серверах.
При ручной установке Automation Config (не рекомендуется) перед установкой подключаемого модуля Master необходимо выполнить следующие действия.
- Установка и настройка базы данных PostgreSQL
- Установка и настройка базы данных Redis
- Включение SSL (необязательно)
# sseapi-config --default >/tmp/raas.conf # cd /etc/salt/master.d # vim -d raas.conf /tmp/raas.conf ...
Если система Salt установлена с помощью Onedir, путь к исполняемому файлу следующий: /opt/saltstack/salt/extras-3.10/bin/sseapi-config.
Установка подключаемого модуля Master с помощью рабочей области «Подключаемые модули Master»
Загрузить и установить последнюю версию подключаемого модуля Master можно через пользовательский интерфейс Automation Config. Для этого перейдите в раздел . На вкладке «Подключаемые модули Master» можно загрузить подключаемый модуль или клиент.
После загрузки необходимо настроить подключаемый модуль Master.
Установка подключаемого модуля Master через интерфейс командной строки
Чтобы установить подключаемый модуль Master на главном сервере Salt, выполните следующие действия.
Начиная с выпуска 8.13.0, подключаемый модуль Master содержит модуль tgtmatch, который передает процесс сопоставления целевой группы с сервера RaaS на главные серверы Salt. Этот модуль tgtmatch рекомендуется включить и настроить, чтобы процесс сопоставления целевой группы мог обеспечивать более информативный отклик, особенно в средах со следующими особенностями:
- Большое количество целевых групп (100 или больше)
- Большое количество служебных серверов (3000 или больше)
- Частое изменение параметров grains на служебных серверах (ежедневно или чаще)
- Частое создание и удаление служебных серверов (ежедневно или чаще)
target_groups_from_master_only: true
- Войдите в учетную запись на главном сервере Salt.
- При необходимости загрузите файл wheel для подключаемого модуля Master с веб-сайта Customer Connect.
Подключаемый модуль Master содержится в файле Automated Installer с расширением .tar.gz. После загрузки и извлечения файла .tar.gz подключаемый модуль Master будет находиться в каталоге
sse-installer/salt/sse/eapi_plugin/files
. - Обновите подключаемый модуль Master, установив обновленный файл wheel Python вручную. Используйте следующие примеры команд, заменив имя файла на точное имя файла wheel.
Примечание: Существующий подключаемый модуль необходимо удалить, чтобы предотвратить использование нескольких экземпляров sseapi-config.
pip3 uninstall SSEAPE-8.12.1.3-py3-none-any.whl mv /etc/salt/master.d/raas.conf /tmp salt-call pip.install SSEAPE-8.12.1.3-py3-none-any.whl cp /tmp/raas.conf /etc/salt/master.d/raas.conf systemctl restart salt-master
Настройка подключаемого модуля Master
Чтобы настроить главный сервер Salt после установки подключаемого модуля Master, выполните следующие действия.
- Войдите в учетную запись на главном сервере Salt и убедитесь в наличии каталога
/etc/salt/master.d
. Если его еще нет, создайте его. - Сгенерируйте настройки конфигурации главного сервера.
Осторожно!: Если настройки требуется сохранить при модернизации установки, перед выполнением этого шага создайте резервную копию существующего файла конфигурации подключаемого модуля Master. Затем скопируйте соответствующие настройки из существующей конфигурации в новый сгенерированный файл.
sudo sseapi-config --all > /etc/salt/master.d/raas.conf
Важно!: Если система Salt установлена с помощью Onedir, путь к исполняемому файлу следующий: /opt/saltstack/salt/extras-3.10/bin/sseapi-config. - Откройте в редакторе сгенерированный файл
raas.conf
и измените следующие значения.Значение Описание 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
в пользовательском интерфейсе Automation Config.В некоторых средах может требоваться, чтобы главный сервер Salt отключался от Интернета на длительное время, а затем выполнял все задания, поставленные в очередь, при возобновлении подключения к Интернету. Если это применимо к вашей среде, установите для этого параметра значение
0
.sseapi_windows_minion_deploy_delay
Укажите задержку для активации всех необходимых служб Windows. Значение по умолчанию — 180 секунд. sseapi_linux_minion_deploy_delay
Укажите задержку для активации всех необходимых служб Linux. Значение по умолчанию — 90 секунд. sseapi_local_cache load: 3600 tgt: 86400 pillar: 3600 exprmatch: 86400 tgtmatch: 86400
Укажите период времени, в течение которого определенные данные локально кешируются на каждом главном сервере Salt. Значения указываются в секундах. В качестве примера приведены рекомендуемые значения.
-
load — полезные данные salt save_load()
-
tgt — целевые группы SSE
-
pillar — данные хранилища pillar SSE (зашифрованные)
-
exprmatch — данные о сопоставлении выражений для целевых объектов SSE
-
tgtmatch — данные о сопоставлении целевых групп SSE
-
- НЕОБЯЗАТЕЛЬНО. Этот шаг необходимо выполнять только для установок, осуществленных вручную. Чтобы проверить подключение к 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 и Automation Config можно улучшить с помощью следующих параметров.
- Настройте модули подключаемого модуля Master.
Модули
eventqueue
иrpcqueue
в подключаемом модуле Master передают некоторые взаимодействия с Automation Config специализированным процессам, освобождая программные механизмы, напрямую влияющие на производительность. Пока модули ожидают взаимодействия с Automation Config, полезные данные находятся в локальной файловой системе главного сервера Salt, поэтому при его перезапуске данные будут сохраняться. Модульtgtmatch
перемещает процесс расчета совпадений целевой группы служебных серверов с сервера RaaS на главные серверы Salt.Чтобы включить эти модули, убедитесь в наличии следующих параметров в файле конфигурации подключаемого модуля Master системы Salt.
engines: - sseapi: {} - eventqueue: {} - rpcqueue: {} - jobcompletion: {} - keyauth: {} - tgtmatch: {}
Чтобы настроить модуль
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
При корректировке параметров очереди следует учитывать их совместное действие. Например, если принять среднюю скорость шины событий Salt равной 400 событиям в секунду, то при использовании приведенных выше настроек события в очереди главного сервера Salt будут накапливаться в течение примерно 24 часов, прежде чем самые ранние из них будут удалены из-за ограничений по размеру очереди или сроку хранения.
Чтобы настроить модуль
rpcqueue
, в файле raas.conf должны быть заданы следующие параметры: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
Чтобы настроить модуль tgtmatch, убедитесь в наличии этих параметров в файле конфигурации подключаемого модуля Master (/etc/salt/master.d/raas.conf)engines: - sseapi: {} - eventqueue: {} - rpcqueue: {} - jobcompletion: {} - keyauth: {} - tgtmatch: {} sseapi_local_cache: load: 3600 tgt: 86400 pillar: 3600 exprmatch: 86400 tgtmatch: 86400 sseapi_tgt_match: poll_interval: 60 workers: 0 nice: 19
Примечание: Чтобы использовать сопоставление целевых объектов на главных серверах Salt, в конфигурации RaaS также должен быть задан следующий параметр конфигурации:target_groups_from_master_only: true
. - Ограничьте размер полезных данных в параметрах grain служебных серверов.
sseapi_max_minion_grains_payload: 2000
- Включите пропуск заданий, которые созданы раньше определенного времени (в секундах). Например, чтобы пропустить задания старше одного дня, используйте значение
86400
. Если установлено значение0
, эта функция отключена.sseapi_command_age_limit:0
Примечание:Во время обновления системы включение этого режима позволяет предотвратить непредвиденный запуск старых команд, хранящихся в базе данных.
Используя очередь событий в Salt вместе с модулями формирования очереди, сопоставлением целевых объектов на главных серверах Salt, ограничением размера полезных данных в параметрах grain служебных серверов и предельным сроком хранения команд в подключаемом модуле Master системы Salt, можно увеличить пропускную способность и уменьшить задержку при взаимодействии главного сервера Salt и Automation Config, осуществляемом программными механизмами, которые напрямую влияют на производительность.
- Настройте модули подключаемого модуля Master.
- Перезапустите службу 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 для использования кэша заданий главного сервера Automation Config |
event_return |
Модуль возврата Salt, рекомендуется sseapi для использования модуля возврата событий Automation Config |
ext_pillar |
Внешние источники хранилищ pillar, рекомендуется sseapi |
fileserver_backend |
Конечные системы файловых серверов, рекомендуются sseapi и roots |
sseapi_update_interval |
Интервал между получением обновлений от файлового сервера (в секундах, по умолчанию — 60) |
sseapi_poll_interval |
Интервал между опросами Automation Config для получения новых данных (в секундах, по умолчанию — 30) |
sseapi_jce_poll_interval |
Задержка между итерациями в модуле jobcompletion , чтобы на главный сервер Salt отправлялось не более 5760 команд find_job в день (в секундах, по умолчанию 15) |
sseapi_timeout |
Время ожидания для вызовов API-интерфейса (RaaS) (в секундах, по умолчанию — 200) |
sseapi_pubkey_path |
Путь к файлу открытого ключа для проверки подлинности главного сервера Salt в Automation Config |
sseapi_key_rotation |
Интервал замены ключа для проверки подлинности Automation Config главного сервера Salt (в секундах, по умолчанию — 86400) |
sseapi_cache_pillar |
Следует ли кэшировать данные хранилищ pillar в Automation Config (True или False, по умолчанию — False) |
sseapi_cluster_id |
(Необязательно.) Имя кластера главных серверов Salt для объединения в кластеры в Automation 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-сертификат Automation Config (True или False, по умолчанию — True) |
В следующей таблице описываются параметры механизма очереди событий, которые отображаются под заголовком sseapi_event_queue
.
Параметр | Описание |
---|---|
name |
Имя очереди событий (имя по умолчанию — sseapi-events , его менять не требуется) |
strategy |
Когда требуется создавать очереди событий (always , on_failure или never , по умолчанию — never ) |
push_interval |
Интервал между отправкой событий в Automation Config (в секундах, по умолчанию — 5) |
batch_limit |
Максимальное количество событий для отправки в Automation Config за интервал (значение по умолчанию — 2000) |
age_limit |
Максимальный срок хранения события в очереди; старые события (в секундах, по умолчанию — 86 400) |
size_limit |
Максимальный размер очереди; старые события сбрасываются (в секундах, по умолчанию — 35 000 000) |
vacuum_interval |
Интервал между очистками базы данных очереди (в секундах, по умолчанию — 86 400) |
vacuum_limit |
Максимальный размер очереди для очистки базы данных очереди (в событиях, по умолчанию — 350 000) |
В следующей таблице описываются настройки механизма очереди RPC, которые отображаются под заголовком sseapi_rpc_queue
.
Параметр | Описание |
---|---|
name |
Имя очереди событий (имя по умолчанию — sseapi-rpc , его менять не требуется) |
strategy |
Когда требуется создавать очереди событий (always , on_failure или never , по умолчанию — never ) |
push_interval |
Интервал между вызовами в Automation Config (в секундах, по умолчанию — 5) |
batch_limit |
Максимальное количество вызовов, отправляемых в Automation Config, за интервал (по умолчанию — 500) |
age_limit |
Максимальный срок хранения вызова в очереди; старые записи сбрасываются (в секундах, по умолчанию — 3600) |
size_limit |
Максимальный размер очереди; старые записи сбрасываются (в событиях, по умолчанию — 360 000) |
vacuum_interval |
Интервал между очистками базы данных очереди (в секундах, по умолчанию — 86 400) |
vacuum_limit |
Максимальный размер очереди для очистки базы данных очереди (в записях, по умолчанию — 100 000) |
sseapi_tgt_match
.
Параметр | Описание |
---|---|
poll_interval | Частота (в секундах), с которой модуль должен запрашивать обновленные сведения о целевой группе из RaaS (по умолчанию 60) |
workers | Количество рабочих процессов, которые необходимо создать, чтобы выполнять расчет сопоставления целевых групп. Значение по умолчанию (0) позволяет создать один процесс для каждого ядра ЦП (макс. 8). |
nice | Приоритет рабочих процессов сопоставления целевых групп. Если используется значение по умолчанию (19), рабочим процессам назначается наименьший приоритет планирования для предотвращения появления помех для других процессов, выполняемых на главном сервере Salt. |
В следующей таблице описываются параметры пути. После создания начальной конфигурации при изменении этих параметров следует соблюдать осторожность. Модули копируются в эти каталоги в процессе установки. Однако добавление дополнительных путей не приведет к негативным последствиям.
Параметр | Описание |
---|---|
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.