Работа с сущностями (топики и 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:
Добавить флаг
erase: trueк удаляемой сущности:
kafka_acls:
- principal: <DN сертификата клиента>
producer: true # в данном случае клиент выступает поставщиком. В случае потребителя указывается «consumer: true»
topics: <имя топика, к которому подключается клиент>
erase: true # флаг удаления ACL
На сервере, с которого производилась установка, выполнить команду:
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 для установки конфигурационного дистрибутива.
При настройке Jenkins job kafka_config_deploy необходимо указать следующие параметры:
nexusUrl– полный путь до необходимого конфигурационного дистрибутива (или нескольких);tags– оставить поле пустым;admin_jks_file– сертификат администратора.
Запустите Jenkins job, дождитесь окончания выполнения работы.
Убедитесь, что Jenkins job завершена без ошибок, просмотрев лог консоли Jenkins и проверив код завершения (статус «Finished: SUCCESS»).
Удаление ACLs
Для удаления сущностей используется Jenkins job kafka_config_deploy:
При настройке Jenkins job kafka_config_deploy необходимо указать следующие параметры:
nexusUrl– полный путь до необходимого конфигурационного дистрибутива (или нескольких);tags– erase_acls;admin_jks_file– сертификат администратора.
Запустите Jenkins job, дождитесь окончания выполнения работы.
Убедитесь, что Jenkins job завершена без ошибок, просмотрев лог консоли Jenkins и проверив код завершения (статус «Finished: SUCCESS»).