Шаг 2. Установка Kafka и ZooKeeper (обязательный)#

Подготовка конфигурации для использования#

Перед установкой выполните действия, приведенные в разделе Подготовка окружения.

Протокол безопасности PLAINTEXT__ZK_PLAIN_NO_AUTH__KAFKA_PLAINTEXT_NO_AUTH#

Создайте файл /tmp/installer/ansible/inventories/DEV/group_vars/all/vars.yaml и заполните его по шаблону:

# Переменные, доступные для всех ролей #
tmp_dir: /tmp/installer # путь к временной директории на конечных серверах
wait_for_start: 120 # время в секундах на корректный старт приложения (падает с ошибкой при превышении)
customJavaPath: false # абсолютный путь к используемой java (false для использования java из PATH)
security: PLAINTEXT__ZK_PLAIN_NO_AUTH__KAFKA_PLAINTEXT_NO_AUTH # протокол безопасности
kafka_user: kafka # имя пользователя, от имени которого запускается Kafka
kafka_group: kafka # имя группы от имени которой запускается Kafka
zookeeper_user: kafka # имя пользователя, от имени которого запускается ZooKeeper
zookeeper_group: kafka # имя группы от имени которой запускается ZooKeeper
enabled_service: true # создание сервиса и настройка сервиса ../helper/create_service.yml

kafka:
    distr: distrib.zip # имя zip архива с дистрибутивом, размещенного в ./ansible/files/
    installdir: /opt/Apache/kafka # абсолютный путь на конечном сервере к приложению
    logdir: /opt/Apache/kafka/logs # абсолютный путь на конечном сервере к логам приложения
    datadir: /KAFKADATA # абсолютный путь на конечном сервере к данным приложения
    cleanLog: true # очистить путь к логам при установке
    cleanData: true # очистить путь к данным при установке (true если данные не нужны)
ZooKeeper:
    distr: distrib.zip # имя zip архива с дистрибутивом, размещенного в ./ansible/files/
    installdir: /opt/Apache/kafka # абсолютный путь на конечном сервере к приложению
    logdir: /opt/Apache/kafka/logs # абсолютный путь на конечном сервере к логам приложения
    datadir: /zookeeper # абсолютный путь на конечном сервере к данным приложения
    cleanLog: true # очистить путь к логам при установке
    cleanData: true # очистить путь к данным при установке (true если данные не нужны)

Протокол безопасности SSL__ZK_mTLS_WITH_AUTH__KAFKA_SSL_WITH_AUTH#

Для настройки протокола безопасности:

  1. Подготовьте X509 сертификат.

  2. Подготовьте ansible vars.

Подготовка X509 сертификата

Подготовка X509 сертификата

Могут применяться два вида X509 сертификатов:

  • самоподписанные (допускается для тестовых установок);

  • подписанные корпоративным CA (рекомендуется для промышленных установок).

Для подготовки X509 сертификата необходимо создать два JKS хранилища:

  • server.kafka.jks – хранилище (keystore), содержащее сертификат и приватный ключ;

  • truststore.kafka.jks – хранилище, содержащее только сертификат корневого CA без приватного ключа из server.kafka.jks.

Создание хранилищ с самоподписанным сертификатом

Для создания хранилищ с использованием самоподписанного сертификата выполните шаги:

  1. Создайте каталог командой:

    mkdir -p /tmp/installer/ansible/inventories/DEV/ssl/
    

    и перейдите в него командой:

    cd /tmp/installer/ansible/inventories/DEV/ssl
    
  2. Создайте JKS хранилище с сертификатом и приватным ключом командой:

    keytool -genkey -keyalg RSA -keysize 2048 -storetype JKS -alias kafka -keystore server.kafka.jks -validity 3650 -keypass <keyPassword> -storepass <keyStorePassword> -dname "CN=kafka, OU=kafka, O=kafka"
    
  3. Извлеките сертификат без приватного ключа из JKS во временный файл kafka.export командой:

    keytool -exportcert -keystore server.kafka.jks -alias kafka -file kafka.export -storepass <keyStorePassword>
    
  4. Импортируйте сертификат в truststore.kafka.jks командой:

    keytool -import -keystore truststore.kafka.jks -alias kafka -file kafka.export -storepass <trustStorePassword> -noprompt -storetype JKS
    
  5. Удалите временный файл kafka.export, созданный на шаге 3.

Создание хранилищ с сертификатом, подписанным корпоративным CA

Правила и алгоритм выпуска X509 сертификатов в различных организациях может отличаться. Далее описаны основные этапы подготовки конфигурации с использованием X509 сертификата, подписанного корпоративным CA:

  1. Создайте каталог командой:

    mkdir -p /tmp/installer/ansible/inventories/DEV/ssl/
    

    и перейдите в него командой:

    cd /tmp/installer/ansible/inventories/DEV/ssl
    
  2. Создайте JKS хранилище с сертификатом и приватным ключом командой:

    keytool -genkey -keyalg RSA -keysize 2048 -storetype JKS -alias kafka -keystore server.kafka.jks -validity 3650 -keypass <keyPassword> -storepass <keyStorePassword> -dname "CN=kafka, OU=kafka, O=kafka"
    
  3. Сгенерируйте запрос на сертификат (CSR) командой:

    keytool -certreq -keystore server.kafka.jks -alias kafka -file server.kafka.csr -storepass <keyStorePassword> -ext ExtendedKeyUsage=serverAuth,clientAuth
    
  4. Полученный файл server.kafka.csr подпишите в корпоративном CA. После подписания сертификата потребуются четыре файла:

    • server.kafka.cer — cертификат в формате cer, полученный в корпоративом CA;

    • server.kafka.jks — хранилище, созданное на шаге 2;

    • ca1.cer — сертификат корневого CA, полученный в корпоративом CA;

    • ca2.pem (опционально) — cертификат промежуточного CA (может отсутствовать), полученный в корпоративом CA.

  5. Добавьте сертификат server.kafka.cer, полученный в корпоративом удостоверяющем центре, в созданное на шаге 2 хранилище server.kafka.jks командой:

    keytool -import -keystore server.kafka.jks -alias kafka -file server.kafka.cer -storepass <keyStorePassword> -noprompt -storetype JKS
    
  6. Подготовьте truststore.kafka.jks с X509 сертификатом корневого CA командой:

    keytool -import -keystore truststore.kafka.jks -alias root -file ca1.cer -storepass <trustStorePassword> -noprompt -storetype JKS
    keytool -import -keystore truststore.kafka.jks -alias root -file ca2.cer -storepass <trustStorePassword> -noprompt -storetype JKS
    
  7. Опционально. Удалите все файлы из каталога /tmp/installer/ansible/inventories/DEV/ssl/, кроме truststore.kafka.jks и server.kafka.jks, командой:

ls | grep -v "*.jks" | xargs rm -f

Подготовка ansible vars#

Создайте файл /tmp/installer/ansible/inventories/DEV/group_vars/all/vars.yaml и заполните его по шаблону:

# Переменные, доступные для всех ролей #
tmp_dir: /tmp/installer # путь к временной директории на конечных серверах
wait_for_start: 120 # время в секундах на корректный старт приложения (падает с ошибкой при превышении)
customJavaPath: false # абсолютный путь к используемой java (false для использования java из PATH)
security: SSL__ZK_mTLS_WITH_AUTH__KAFKA_SSL_WITH_AUTH # протокол безопасности
kafka_user: kafka # имя пользователя, от имени которого запускается Kafka
kafka_group: kafka # имя группы от имени которой запускается kafka
zookeeper_user: kafka # имя пользователя, от имени которого запускается ZooKeeper
zookeeper_group: kafka # имя группы от имени которой запускается ZooKeeper
enabled_service: true # создание сервиса и настройка сервиса ../helper/create_service.yml

kafka:
    distr: distrib.zip # имя zip архива с дистрибутивом, размещенного в ./ansible/files/
    installdir: /opt/Apache/kafka # абсолютный путь на конечном сервере к приложению
    logdir: /opt/Apache/kafka/logs # абсолютный путь на конечном сервере к логам приложения
    datadir: /KAFKADATA # абсолютный путь на конечном сервере к данным приложения
    cleanLog: true # очистить путь к логам при установке
    cleanData: true # очистить путь к данным при установке (true если данные не нужны)
    trustStorePath: "ssl/truststore.kafka.jks" # путь от inventories/_стенд_/ до файла с trustStore (или абсолютный на сервере при needUploadJks: false)
    trustStorePassword: "<truststore-password>" # пароль от trustStore
    keyStorePath: "ssl/server.kafka.jks" # путь от inventories/_стенд_/ до файла с keyStore (или абсолютный на сервере при needUploadJks: false)
    keyStorePassword: "<keystore-password>" # пароль от keyStore
    keyPassword: "<key-password>" # пароль от ключа в хранилище
zookeeper:
    distr: distrib.zip # Имя zip архива с дистрибутивом, размещенного в ./ansible/files/
    installdir: /opt/Apache/kafka # абсолютный путь на конечном сервере к приложению
    logdir: /opt/Apache/kafka/logs # абсолютный путь на конечном сервере к логам приложения
    datadir: /zookeeper # абсолютный путь на конечном сервере к данным приложения
    cleanLog: true # очистить путь к логам при установке
    cleanData: true # очистить путь к данным при установке (true если данные не нужны)
    trustStorePath: "ssl/truststore.kafka.jks" # путь от inventories/_стенд_/ до файла с trustStore (или абсолютный на сервере при needUploadJks: false)
    trustStorePassword: "<truststore-password>" # пароль от trustStore
    keyStorePath: "ssl/server.kafka.jks" # путь от inventories/_стенд_/ до файла с keyStore (или абсолютный на сервере при needUploadJks: false)
    keyStorePassword: "<keystore-password>" # пароль от keyStore

Протокол безопасности SSL__ZK_mTLS_WITH_AUTH__KAFKA_SSL_WITH_AUTH__AUDIT#

Для настройки протокола безопасности:

  1. Подготовьте X509 сертификат.

  2. Подготовьте ansible vars.

Подготовка X509 сертификата

Подготовка X509 сертификата

Могут применяться два вида X509 сертификатов:

  • самоподписанные (допускается для тестовых установок);

  • подписанные корпоративным CA (рекомендуется для промышленных установок).

Для подготовки X509 сертификата необходимо создать два JKS хранилища:

  • server.kafka.jks – хранилище (keystore), содержащее сертификат и приватный ключ;

  • truststore.kafka.jks – хранилище, содержащее только сертификат корневого CA без приватного ключа из server.kafka.jks.

Создание хранилищ с самоподписанным сертификатом

Для создания хранилищ с использованием самоподписанного сертификата выполните шаги:

  1. Создайте каталог командой:

    mkdir -p /tmp/installer/ansible/inventories/DEV/ssl/
    

    и перейдите в него командой:

    cd /tmp/installer/ansible/inventories/DEV/ssl
    
  2. Создайте JKS хранилище с сертификатом и приватным ключом командой:

    keytool -genkey -keyalg RSA -keysize 2048 -storetype JKS -alias kafka -keystore server.kafka.jks -validity 3650 -keypass <keyPassword> -storepass <keyStorePassword> -dname "CN=kafka, OU=kafka, O=kafka"
    
  3. Извлеките сертификат без приватного ключа из JKS во временный файл kafka.export командой:

    keytool -exportcert -keystore server.kafka.jks -alias kafka -file kafka.export -storepass <keyStorePassword>
    
  4. Импортируйте сертификат в truststore.kafka.jks командой:

    keytool -import -keystore truststore.kafka.jks -alias kafka -file kafka.export -storepass <trustStorePassword> -noprompt -storetype JKS
    
  5. Удалите временный файл kafka.export, созданный на шаге 3.

Создание хранилищ с сертификатом, подписанным корпоративным CA

Правила и алгоритм выпуска X509 сертификатов в различных организациях может отличаться. Далее описаны основные этапы подготовки конфигурации с использованием X509 сертификата, подписанного корпоративным CA:

  1. Создайте каталог командой:

    mkdir -p /tmp/installer/ansible/inventories/DEV/ssl/
    

    и перейдите в него командой:

    cd /tmp/installer/ansible/inventories/DEV/ssl
    
  2. Создайте JKS хранилище с сертификатом и приватным ключом командой:

    keytool -genkey -keyalg RSA -keysize 2048 -storetype JKS -alias kafka -keystore server.kafka.jks -validity 3650 -keypass <keyPassword> -storepass <keyStorePassword> -dname "CN=kafka, OU=kafka, O=kafka"
    
  3. Сгенерируйте запрос на сертификат (CSR) командой:

    keytool -certreq -keystore server.kafka.jks -alias kafka -file server.kafka.csr -storepass <keyStorePassword> -ext ExtendedKeyUsage=serverAuth,clientAuth
    
  4. Полученный файл server.kafka.csr подпишите в корпоративном CA. После подписания сертификата потребуются четыре файла:

    • server.kafka.cer — cертификат в формате cer, полученный в корпоративом CA;

    • server.kafka.jks — хранилище, созданное на шаге 2;

    • ca1.cer — сертификат корневого CA, полученный в корпоративом CA;

    • ca2.pem (опционально) — cертификат промежуточного CA (может отсутствовать), полученный в корпоративом CA.

  5. Добавьте сертификат server.kafka.cer, полученный в корпоративом удостоверяющем центре, в созданное на шаге 2 хранилище server.kafka.jks командой:

    keytool -import -keystore server.kafka.jks -alias kafka -file server.kafka.cer -storepass <keyStorePassword> -noprompt -storetype JKS
    
  6. Подготовьте truststore.kafka.jks с X509 сертификатом корневого CA командой:

    keytool -import -keystore truststore.kafka.jks -alias root -file ca1.cer -storepass <trustStorePassword> -noprompt -storetype JKS
    keytool -import -keystore truststore.kafka.jks -alias root -file ca2.cer -storepass <trustStorePassword> -noprompt -storetype JKS
    
  7. Опционально. Удалите все файлы из каталога /tmp/installer/ansible/inventories/DEV/ssl/, кроме truststore.kafka.jks и server.kafka.jks, командой:

ls | grep -v "*.jks" | xargs rm -f

Подготовка ansible vars#

Создайте файл /tmp/installer/ansible/inventories/DEV/group_vars/all/vars.yaml и заполните его по шаблону:

# Переменные, доступные для всех ролей #
tmp_dir: /tmp/installer # путь к временной директории на конечных серверах
wait_for_start: 120 # время в секундах на корректный старт приложения (падает с ошибкой при превышении)
customJavaPath: false # абсолютный путь к используемой java (false для использования java из PATH)
security: SSL__ZK_mTLS_WITH_AUTH__KAFKA_SSL_WITH_AUTH # протокол безопасности
kafka_user: kafka # имя пользователя, от имени которого запускается Kafka
kafka_group: kafka # имя группы от имени которой запускается kafka
zookeeper_user: kafka # имя пользователя, от имени которого запускается ZooKeeper
zookeeper_group: kafka # имя группы от имени которой запускается ZooKeeper
enabled_service: true # создание сервиса и настройка сервиса ../helper/create_service.yml

kafka:
    distr: distrib.zip # имя zip архива с дистрибутивом, размещенного в ./ansible/files/
    installdir: /opt/Apache/kafka # абсолютный путь на конечном сервере к приложению
    logdir: /opt/Apache/kafka/logs # абсолютный путь на конечном сервере к логам приложения
    datadir: /KAFKADATA # абсолютный путь на конечном сервере к данным приложения
    cleanLog: true # очистить путь к логам при установке
    cleanData: true # очистить путь к данным при установке (true если данные не нужны)
    trustStorePath: "ssl/truststore.kafka.jks" # путь от inventories/_стенд_/ до файла с trustStore (или абсолютный на сервере при needUploadJks: false)
    trustStorePassword: "<truststore-password>" # пароль от trustStore
    keyStorePath: "ssl/server.kafka.jks" # путь от inventories/_стенд_/ до файла с keyStore (или абсолютный на сервере при needUploadJks: false)
    keyStorePassword: "<keystore-password>" # пароль от keyStore
    keyPassword: "<key-password>" # пароль от ключа в хранилище
zookeeper:
    distr: distrib.zip # Имя zip архива с дистрибутивом, размещенного в ./ansible/files/
    installdir: /opt/Apache/kafka # абсолютный путь на конечном сервере к приложению
    logdir: /opt/Apache/kafka/logs # абсолютный путь на конечном сервере к логам приложения
    datadir: /zookeeper # абсолютный путь на конечном сервере к данным приложения
    cleanLog: true # очистить путь к логам при установке
    cleanData: true # очистить путь к данным при установке (true если данные не нужны)
    trustStorePath: "ssl/truststore.kafka.jks" # путь от inventories/_стенд_/ до файла с trustStore (или абсолютный на сервере при needUploadJks: false)
    trustStorePassword: "<truststore-password>" # пароль от trustStore
    keyStorePath: "ssl/server.kafka.jks" # путь от inventories/_стенд_/ до файла с keyStore (или абсолютный на сервере при needUploadJks: false)
    keyStorePassword: "<keystore-password>" # пароль от keyStore
config_audit:  # настройки аудита
  url: "http://localhost:8084" # префикс url для отправки событий аудита  system_id: "CORAX" # Имя приложения для аудита (по умолчанию "APPLICATION NAME FOR AUDIT")
  trustStorePath: "ssl/kafka.jks" # путь от inventories/_стенд_/ до файла с trustStore
  trustStorePassword: "<password>" # пароль от trustStore
  keyStorePath: "ssl/kafka.jks" # путь от inventories/_стенд_/ до файла с keyStore
  keyStorePassword: "<password>" # пароль от keyStore
  keyPassword: "<password>" # пароль от ключа в хранилище

SSL__ZK_mTLS_WITH_AUTH__KAFKA_SSL_WITH_AUTH__SECMAN#

При использовании профиля SSL__ZK_mTLS_WITH_AUTH__KAFKA_SSL_WITH_AUTH__SECMAN подготовка сертификатов X509 не требуется. Управление сертификатами и секретами происходит с помощью Secret Management System (SecMan).

Создайте файл /tmp/installer/ansible/inventories/DEV/group_vars/all/vars.yaml и заполните его по шаблону:

# Переменные, доступные для всех ролей #
tmp_dir: /tmp/installer # путь к временной директории на конечных серверах
wait_for_start: 120 # время в секундах на корректный старт приложения (падает с ошибкой при превышении)
customJavaPath: false # абсолютный путь к используемой java (false для использования java из PATH)
security: SSL__ZK_mTLS_WITH_AUTH__KAFKA_SSL_WITH_AUTH__SECMAN # протокол безопасности
kafka_user: kafka # имя пользователя, от имени которого запускается Kafka
kafka_group: kafka # имя группы от имени которой запускается kafka
zookeeper_user: kafka # имя пользователя, от имени которого запускается ZooKeeper
zookeeper_group: kafka # имя группы от имени которой запускается ZooKeeper
enabled_service: true # создание сервиса и настройка сервиса ../helper/create_service.yml

kafka:
    distr: distrib.zip # имя zip архива с дистрибутивом, размещенного в ./ansible/files/
    installdir: /opt/Apache/kafka # абсолютный путь на конечном сервере к приложению
    logdir: /opt/Apache/kafka/logs # абсолютный путь на конечном сервере к логам приложения
    datadir: /KAFKADATA # абсолютный путь на конечном сервере к данным приложения
    cleanLog: true # очистить путь к логам при установке
    cleanData: true # очистить путь к данным при установке (true если данные не нужны)
    trustStorePath: "ssl/truststore.kafka.jks" # путь от inventories/_стенд_/ до файла с trustStore (или абсолютный на сервере при needUploadJks: false)
    trustStorePassword: "<truststore-password>" # пароль от trustStore
zookeeper:
    distr: distrib.zip # Имя zip архива с дистрибутивом, размещенного в ./ansible/files/
    installdir: /opt/Apache/kafka # абсолютный путь на конечном сервере к приложению
    logdir: /opt/Apache/kafka/logs # абсолютный путь на конечном сервере к логам приложения
    datadir: /zookeeper # абсолютный путь на конечном сервере к данным приложения
    cleanLog: true # очистить путь к логам при установке
    cleanData: true # очистить путь к данным при установке (true если данные не нужны)
    trustStorePath: "ssl/truststore.kafka.jks" # путь от inventories/_стенд_/ до файла с trustStore (или абсолютный на сервере при needUploadJks: false)
    trustStorePassword: "<truststore-password>" # пароль от trustStore
config_secman:
  endpoint: 'secman_url' # адрес хоста SecMan
  namespace: 'name_space' # пространство, в котором хранятся секреты
  path: 'container_path' # путь к контейнеру с секретами
  secret_name: 'container_name' # имя контейнера с секретами
  opentimeout: '20' # время ожидания соединения (секунды)
  readtimeout: '20' # время ожидания получения (секунды)
  tokenttl: '120' # время жизни токена (секунды)
  fetchrole: 'role-secman-CA-name' # имя роли для работы с удостоверяющим центром (CA) SECMAN
  fetchmount: 'PKI' # (путь) адрес CA SECMAN
  fetchcn: 'test.corax' # Common Name в сертификате
  put_enable: false # включение создания контейнера секретов в SecMan
  connectDict: # данные для авторизации в SecMan
    role_id:   "role_id_xxx"
    secret_id: "secret_id_xxx"

Протокол безопасности SSL__ZK_mTLS_WITH_AUTH__KAFKA_SSL_WITH_AUTH__AUDIT__SECMAN#

При использовании профиля SSL__ZK_mTLS_WITH_AUTH__KAFKA_SSL_WITH_AUTH__SECMAN подготовка сертификатов X509 не требуется. Управление сертификатами и секретами происходит с помощью Secret Management System (SecMan).

Создайте файл /tmp/installer/ansible/inventories/DEV/group_vars/all/vars.yaml и заполните его по шаблону:

# Переменные, доступные для всех ролей #
tmp_dir: /tmp/installer # путь к временной директории на конечных серверах
wait_for_start: 120 # время в секундах на корректный старт приложения (падает с ошибкой при превышении)
customJavaPath: false # абсолютный путь к используемой java (false для использования java из PATH)
security: SSL__ZK_mTLS_WITH_AUTH__KAFKA_SSL_WITH_AUTH__SECMAN # протокол безопасности
kafka_user: kafka # имя пользователя, от имени которого запускается Kafka
kafka_group: kafka # имя группы от имени которой запускается kafka
zookeeper_user: kafka # имя пользователя, от имени которого запускается ZooKeeper
zookeeper_group: kafka # имя группы от имени которой запускается ZooKeeper
enabled_service: true # создание сервиса и настройка сервиса ../helper/create_service.yml

kafka:
    distr: distrib.zip # имя zip архива с дистрибутивом, размещенного в ./ansible/files/
    installdir: /opt/Apache/kafka # абсолютный путь на конечном сервере к приложению
    logdir: /opt/Apache/kafka/logs # абсолютный путь на конечном сервере к логам приложения
    datadir: /KAFKADATA # абсолютный путь на конечном сервере к данным приложения
    cleanLog: true # очистить путь к логам при установке
    cleanData: true # очистить путь к данным при установке (true если данные не нужны)
    trustStorePath: "ssl/truststore.kafka.jks" # путь от inventories/_стенд_/ до файла с trustStore (или абсолютный на сервере при needUploadJks: false)
    trustStorePassword: "<truststore-password>" # пароль от trustStore
zookeeper:
    distr: distrib.zip # Имя zip архива с дистрибутивом, размещенного в ./ansible/files/
    installdir: /opt/Apache/kafka # абсолютный путь на конечном сервере к приложению
    logdir: /opt/Apache/kafka/logs # абсолютный путь на конечном сервере к логам приложения
    datadir: /zookeeper # абсолютный путь на конечном сервере к данным приложения
    cleanLog: true # очистить путь к логам при установке
    cleanData: true # очистить путь к данным при установке (true если данные не нужны)
    trustStorePath: "ssl/truststore.kafka.jks" # путь от inventories/_стенд_/ до файла с trustStore (или абсолютный на сервере при needUploadJks: false)
    trustStorePassword: "<truststore-password>" # пароль от trustStore
config_audit:  # настройки аудита
  url: "http://localhost:8084" # префикс url для отправки событий аудита  system_id: "CORAX" # Имя приложения для аудита (по умолчанию "APPLICATION NAME FOR AUDIT")
  trustStorePath: "ssl/kafka.jks" # путь от inventories/_стенд_/ до файла с trustStore
  trustStorePassword: "<password>" # пароль от trustStore
  keyStorePath: "ssl/kafka.jks" # путь от inventories/_стенд_/ до файла с keyStore
  keyStorePassword: "<password>" # пароль от keyStore
  keyPassword: "<password>" # пароль от ключа в хранилище
config_secman:
  endpoint: 'secman_url' # адрес хоста SecMan
  namespace: 'name_space' # пространство, в котором хранятся секреты
  path: 'container_path' # путь к контейнеру с секретами
  secret_name: 'container_name' # имя контейнера с секретами
  opentimeout: '20' # время ожидания соединения (секунды)
  readtimeout: '20' # время ожидания получения (секунды)
  tokenttl: '120' # время жизни токена (секунды)
  fetchrole: 'role-secman-CA-name' # имя роли для работы с удостоверяющим центром (CA) SECMAN
  fetchmount: 'PKI' # (путь) адрес CA SECMAN
  fetchcn: 'test.corax' # Common Name в сертификате
  put_enable: false # включение создания контейнера секретов в SecMan
  connectDict: # данные для авторизации в SecMan
    role_id:   "role_id_xxx"
    secret_id: "secret_id_xxx"

Запуск ansible-playbook#

Для запуска playbook выполните:

  1. Перейдите в каталог со сценариями ansible командой cd /tmp/installer/ansible/.

  2. Выполните команду ansible-playbook -i ./inventories/DEV/inventory.ini ./playbooks/kafka-zookeeper.yml и дождитесь завершения выполнения.

В случае успешного выполнения в stdout, в разделе PLAY RECAP, должно появиться unreachable=0 failed=0 напротив каждого хоста.

Описание тегов для применения при установке:#

Имя тега

Описание

root

Устанавливает Java и создает: пользователя-группу в ОС, сервис, каталоги для установки

install

Останавливает сервис, загружает дистрибутив на хосты, распаковывает дистрибутив, конфигурирует, запускает сервис

start

Запускает сервис

stop

Останавливает сервис