Работа с сущностями (топики и ACL)#

С помощью ansible#

Создание сущностей

Для создания топиков и ACLs необходимо заполнить в соответствующем inventory файл vars.yml:

kafka_topics:
  list:
    - name: <имя создаваемого топика>
      partitions: <количество партиций>
      configs: # дополнительные конфигурации топика
        - retention.ms=<очистка топиков по времени в мс>

kafka_acls:
  - principal: <DN сертификата клиента>
    producer: true # в данном случае клиент выступает поставщиком. В случае потребителя указывается «consumer: true»
    topics: <имя топика, к которому подключается клиент>

На сервере, с которого производилась установка, выполнить команду:

ansible-playbook -i inventories/<ID>/inventory kafka_topics_acls.yml --ask-vault-pass

, где ID — имя созданного inventory.

Удаление ACLs

Для удаления ACLs необходимо изменить файл vars.yml:

  1. Добавить флаг erase: true к удаляемой сущности:

kafka_acls:
  - principal: <DN сертификата клиента>
    producer: true # в данном случае клиент выступает поставщиком. В случае потребителя указывается «consumer: true»
    topics: <имя топика, к которому подключается клиент>
    erase: true # флаг удаления ACL
  1. На сервере, с которого производилась установка, выполнить команду:

ansible-playbook -i inventories/<ID>/inventory kafka_topics_acls.yml --ask-vault-pass -t erase_acls

, где ID — имя созданного inventory.

С помощью Jenkins#

Работа с сущностями ведется посредством конфигурационных дистрибутивов. Для их создания используется Jenkins job kafka_config_create. Подробнее в документе Руководство по установке, раздел Jenkins Job для создания конфигурационного дистрибутива.

Создание сущностей

Для создания топиков и ACLs используется Jenkins job kafka_config_deploy.

Процесс создания Jenkins job kafka_config_deploy описан в документе Руководство по установке, раздел Jenkins Job для установки конфигурационного дистрибутива.

  1. При настройке Jenkins job kafka_config_deploy необходимо указать следующие параметры:

  • nexusUrl – полный путь до необходимого конфигурационного дистрибутива (или нескольких);

  • tags – оставить поле пустым;

  • admin_jks_file – сертификат администратора.

  1. Запустите Jenkins job, дождитесь окончания выполнения работы.

  2. Убедитесь, что Jenkins job завершена без ошибок, просмотрев лог консоли Jenkins и проверив код завершения (статус «Finished: SUCCESS»).

Удаление ACLs

Для удаления сущностей используется Jenkins job kafka_config_deploy:

  1. При настройке Jenkins job kafka_config_deploy необходимо указать следующие параметры:

  • nexusUrl – полный путь до необходимого конфигурационного дистрибутива (или нескольких);

  • tagserase_acls;

  • admin_jks_file – сертификат администратора.

  1. Запустите Jenkins job, дождитесь окончания выполнения работы.

  2. Убедитесь, что Jenkins job завершена без ошибок, просмотрев лог консоли Jenkins и проверив код завершения (статус «Finished: SUCCESS»).