Ansible¶
В этом разделе рассмотрим сценарии использования инсталлятора neomsa-messaging для установки и настройки NEOMSA Messaging.
-
Инсталлятор представляет собой набор ansible ролей и плейбуков для развертывания neomsa-messaging (на базе Apache Kafka, Zookeeper, schema-registry). Для работы требуется установленный Ansible не ниже 2.9 и ssh доступ к машинам, на которых будет развернуто ПО.
-
Управление параметрами и поведением инсталлятора осуществляется через переменные в 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.
-
Переменные:
- 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 на топики. Пример его заполнения приведен выше.
| 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