Перейти к содержанию

Ansible

В этом разделе рассмотрим сценарии использования инсталлятора neomsa-messaging для установки и настройки NEOMSA Messaging.

  1. Инсталлятор представляет собой набор ansible ролей и плейбуков для развертывания neomsa-messaging (на базе Apache Kafka, Zookeeper, schema-registry). Для работы требуется установленный Ansible не ниже 2.9 и ssh доступ к машинам, на которых будет развернуто ПО.

  2. Управление параметрами и поведением инсталлятора осуществляется через переменные в inventory. Ниже рассмотрим пример файла inventory в формате yaml с переменными:

kafka:
hosts:
kafka-node1:
ansible_host: 192.0.2.11
kafka-node2:
ansible_host: 192.0.2.12
kafka-node3:
ansible_host: 192.0.2.13
vars:
domain_name: "ol8.local"
kafka_download_base_url:
zookeeper_mirror:
zookeeper_version: 3.9.1
kafka_version: 3.6.1
kraft_mode: true
ssl_enable: false
kafka_port: 9093
download_localhost: false
download_delegate: "{{ ansible_play_hosts[0] }}"
acl:
username: ADMIN
topic: 'testtopic2'
operations:
- Describe
- Alter
- DescribeConfigs
- AlterConfigs
- Create
- Read
- Write
children:
kafka_cluster:
hosts:
kafka-node1: {}
kafka-node2: {}
kafka-node3: {}
kafka_schema_registry:
hosts:
kafka-node1: {}
kafka_ui:
hosts:
kafka-node1: {}
zookeeper:
hosts:
kafka-node1: {}
kafka-node2: {}
kafka-node3: {}
kafka_new_brokers:
hosts: {}
kafka_rm_brokers:
hosts: {}

Раздел kafka: все хосты, которые участвуют в установке системы.
Раздел children.kafka_cluster: хосты, которые формируют кластер Apache Kafka.
Раздел children.zookeeper: хосты, которые формируют кластер Apache Zookeeper.
Раздел children.kafka_schema_registry: хост, на который будет установлен Kafka Schema registry.
Раздел children.kafka_ui: хост, на который будет установлена UI neomsa-messaging.
Раздел children.kafka_new_brokers: список хостов для добавления новых брокеров в кластер Apache Kafka.
Раздел children.kafka_rm_brokers: список хостов для удаления брокеров из кластера Apache Kafka.

  1. Переменные:
    - domain_name: имя домена, где происходит развертывание. Обратите внимание, что полное имя хоста будет сформировано в виде <имя_хоста>.<domain_name>. То есть в примере выше получится, например, kafka-node1.ol8.local. Все общение между хостами идет именно по этим именам, а также сертификаты в случае самоподписанных генерируются с SAN этих доменных имен.
    - kafka_download_base_url: базовый адрес, откуда будет скачан дистрибутив Kafka. Например: https://kafka.apache.org/downloads/kafka
    - zookeeper_mirror: базовый адрес для загрузки Apache Zookeeper. Например, https://dlcdn.apache.org/zookeeper/
    - zookeeper_version: kafka_version: Версии Kafka и Zookeeper для установки.
    - kraft_mode: true – режим работы Kafka. По умолчанию значение false, т.е. установка в режиме Zookeeper, при значении true установка в режиме KRaft, Zookeeper в этом случае не установится.

  2. ssl_enable: включение режима подключений через ssl. По умолчанию – false.
    - kafka_port: номер порта, на котором Kafka слушает подключения. По умолчанию 9092.
    - download_localhost: если true, то скачивание пакетов Kafka и пр. будет на машину, запускающую плейбук
    - download_delegate: имя хоста или адрес, на который будет скачивание пакетов. Должен быть из числа всех хостов в inventory.
    acl: раздел для добавления acl на топики. Пример его заполнения приведен выше.

domain_name имя домена, где происходит развертывание. Обратите внимание, что полное имя хоста будет сформировано в виде <имя_хоста>.<domain_name>. То есть в примере выше получится, например, kafka-node1.ol8.local. Все общение между хостами идет именно по этим именам, а также сертификаты в случае самоподписанных генерируются с SAN этих доменных имен.
kafka_download_base_url базовый адрес, откуда будет скачан дистрибутив Kafka. Например: https://kafka.apache.org/downloads/kafka
zookeeper_mirror базовый адрес для загрузки Apache Zookeeper. Например, https://dlcdn.apache.org/zookeeper/
zookeeper_version: kafka_version Версии Kafka и Zookeeper для установки.
kraft_mode: true – режим работы Kafka. По умолчанию значение false, т.е. установка в режиме Zookeeper, при значении true установка в режиме KRaft, Zookeeper в этом случае не установится.
ssl_enable: включение режима подключений через ssl. По умолчанию – false.
kafka_port: номер порта, на котором Kafka слушает подключения. По умолчанию 9092.
download_localhost: если true, то скачивание пакетов Kafka и пр. будет на машину, запускающую плейбук
download_delegate: имя хоста или адрес, на который будет скачивание пакетов. Должен быть из числа всех хостов в inventory.
acl: раздел для добавления acl на топики. Пример его заполнения приведен выше.

Все остальные основные переменные содержатся в папке inventory/group_vars