Настройка модуля координации

Настройка конфигурации серверов управления

Сервер управления настраивается через главный файл конфигурации — /etc/salt/master.

В данном файле необходимо выполнить настройку, которая обеспечит трансляцию событий на главный сервер: syndic_forward_all_events: True.

Подробную информацию о настройке главного файла конфигурации сервера управления см. в официальной документации.

Чтобы логически разделить параметры конфигурации, рекомендуется использовать директорию /etc/salt/master.d/.

Например, если вы используете хранилище S3, задайте настройки подключения к хранилищу для агентов в файле s3.conf и поместите его в директорию /etc/salt/master.d/ (см. пример ниже).

Директория /etc/salt/master.d/ может содержать только файлы с расширением .conf.

Дополнительные настройки при использовании хранилища S3

При использовании хранилища S3 в качестве пространства для хранения общих файлов конфигураций и файлов состояний выполните настройки:

  1. Создайте файл /etc/salt/master/fileserver_backend.conf и укажите в нем, что в качестве бэкенда для файлов будет использоваться хранилище S3:

    fileserver_backend:
      - s3fs
  1. В файле /etc/salt/master/s3.conf пропишите настройки подключения к хранилищу S3:

    s3.service_url: <s3_hostname>:<s3_port>
    s3.keyid: <ACCESS_KEY>
    s3.key: <SECRET_KEY>
    s3.buckets:
      - salt-bucket
    s3.path_style: True
    s3.location: <REGION>

    Где в параметре s3.buckets указана корзина с именем salt-bucket для хранения файлов состояния и формул.

    Подробное описание всех параметров приведено в официальной документации.
  2. Выполните настройку подключения к S3 для хранения в отдельной корзине данных хранилища Pillar — создайте файл /etc/salt/master/ext_pillar.conf, в котором будет указана корзина pillar-bucket:

    ext_pillar:
      - s3:
          service_url: <s3_hostname>:<s3_port>
          keyid: <ACCESS_KEY>
          key: <SECRET_KEY>
          bucket: pillar-bucket
          multiple_env: False
          environment: base
          prefix: ''
          verify_ssl: False
          s3_cache_expire: 30
          s3_sync_on_update: True
          path_style: True
          https_enable: False
    Подробное описание всех полей приведено в официальной документации.

Настройка конфигурации агентов

Агент настраивается через файл конфигурации — /etc/salt/minion.

Подробную информацию о настройке главного файла конфигурации агента см. в официальной документации.

Настройка интервала времени между отправкой ping-запросов от агентов на сервер управления

В конфигурационном файле задайте параметр ping_interval. Параметр определяет интервал в минутах, через который агент отправляет ping-запрос на сервер управления. Рекомендуемое значение — 10 минут.

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

При задании параметра следует учитывать следующие факторы:

  • чем меньше значение параметра, тем больший объем данных будет передаваться в единицу времени, увеличивая нагрузку на сеть;

  • увеличение значения приводит к увеличению интервала обновления данных, что может привести к их неактуальности.

Загрузка пользовательских формул в хранилище S3

Готовые формулы импортируются в хранилище S3 автоматически при установке продукта.

Чтобы загрузить пользовательские формулы и формулы-шаблоны используйте метод API importFormulas для импорта формулы в хранилище S3.

Настройка конфигурации отправки событий в Apache Kafka

Отправка событий с сервера управления в Apache Kafka выполняется с помощью библиотеки librdkafka.

В файле salt-master.conf (отдельно для каждого сервера управления) выполните настройку параметров:

Наименование Описание Значение по умолчанию

returner.kafka_custom.bootstrap

Список хостов с указанием портов, где запущен Apache Kafka

"kafka_host:9092"

returner.kafka_custom.topic

Топик Apache Kafka

salt-topic

returner.kafka_custom.security.protocol

Протокол, который используется для связи с Apache Kafka

plaintext

returner.kafka_custom.ssl.cipher.suites

Набор шифров (именованная комбинация аутентификации, шифрование, MAC-адреса и алгоритмы обмена ключами), используемые для согласования параметров безопасности сетевого подключения с использованием сетевого протокола SSL. Подробнее см. SSL_CTX_set_cipher_list

returner.kafka_custom.ssl.curves.list

Поддерживаемые кривые (supported curves), стандартные/именованные или «явные» GF(2^k) или GF(p) для использования сервером, которые передаются в сообщении TLS ClientHello. Подробнее см. SSL_CTX_set1_curves_list

returner.kafka_custom.ssl.sigalgs.list

Поддерживаемые алгоритмы цифровой подписи для использования сервером, которые передаются в сообщении TLS ClientHello. Подробнее см. SSL_CTX_set1_sigalgs

returner.kafka_custom.ssl.key.location

Путь к закрытому ключу клиента (PEM), который используется для аутентификации

returner.kafka_custom.ssl.key.password

Пароль для закрытого ключа (для использования с ssl.key.location и set_ssl_cert())

returner.kafka_custom.ssl.key.pem

Строка закрытого ключа клиента (в PEM-формате), которая используется для аутентификации

returner.kafka_custom.ssl.certificate.location

Путь к публичному ключу клиента (в PEM-формате), который используется для аутентификации

returner.kafka_custom.ssl.certificate.pem

Строка публичного ключа клиента (в PEM-формате), которая используется для аутентификации

returner.kafka_custom.ssl.ca.location

Путь к файлу или каталогу сертификатов CA для проверки ключа брокера

returner.kafka_custom.ssl.ca.pem

Строка сертификата CA (в PEM-формате) для проверки ключа брокера

returner.kafka_custom.ssl.ca.certificate.stores

Список хранилищ сертификатов Windows (разделенный запятыми), из которых можно загрузить сертификаты CA. Сертификаты будут загружены в том же порядке, в котором указаны хранилища

returner.kafka_custom.ssl.crl.location

Путь к CRL для валидации сертификата брокера

returner.kafka_custom.ssl.keystore.location

Путь к хранилищу ключей клиента (PKCS#12), которые используются для аутентификации

returner.kafka_custom.ssl.keystore.password

Пароль хранилища ключей клиента (PKCS#12)

returner.kafka_custom.ssl.providers

Список провайдеров (разделенный запятыми) OpenSSL 3.0.x

returner.kafka_custom.ssl.engine.id

Идентификатор OpenSSL

returner.kafka_custom.enable.ssl.certificate.verification

Включение проверки сертификата встроенного брокера OpenSSL (сервера). Эта проверка может быть расширена приложением путем реализации certificate_verify_cb

returner.kafka_custom.ssl.endpoint.identification.algorithm

Алгоритм идентификации endpoint для проверки имени хоста брокера с использованием сертификата брокера

returner.kafka_custom.debug

Список контекстов отладки (разделенный запятыми), которые необходимо включить

returner.kafka_custom.log_level

Уровень логирования

returner.kafka_custom.allow.auto.create.topics

Разрешение автоматического создания темы в брокере при подписке на несуществующие темы или назначении им тем.

Для корректной работы данной конфигурации брокер должен быть настроен с параметром auto.create.topics.enable=true

event_return: kafka_custom

Выбор способа отправки событий возврата

В качестве инструкции по генерации сертификатов рекомендуется использовать документ "Using SSL with librdkafka".