TGViewer
Сочный DevOps Сочный DevOps @andtree_sec · 420 subscribers
Post #146 96
Настроечка kafka-ui для подключение нескольких кластеров

Для начала нам нужен docker-compose файл, примерно следующего содержания:

services:
kafka-ui:
container_name: kafka-ui
image: provectuslabs/kafka-ui:latest
environment:
DYNAMIC_CONFIG_ENABLED: true
volumes:
- /etc/kafka-ui/kafka-ui.yaml:/etc/kafkaui/dynamic_config.yaml
- <kafka_cluster_1>truststore.jks:/etc/kafkaui/<kafka_cluster_1>truststore.jks
- <kafka_cluster_2>truststore.jks:/etc/kafkaui/<kafka_cluster_2>truststore.jks
- <kafka_cluster_3>truststore.jks:/etc/kafkaui/<kafka_cluster_3>truststore.jks


Если используем SSL, то обязательно монтируем java truststore.jks нужных кластеров.

Затем файлик kafka-ui.yaml:

auth:
type: LOGIN_FORM

spring:
security:
user:
name: <ui_user>
password: <ui_password>

kafka:
clusters:
- name: kafka-cluster-1
bootstrapServers: <bootstrap_hosts>:<ssl_port>
properties:
security.protocol: SASL_SSL
sasl.mechanism: SCRAM-SHA-256
sasl.jaas.config: org.apache.kafka.common.security.scram.ScramLoginModule required username="<user>" password="<password>";
ssl.truststore.location: /etc/kafkaui/<kafka_cluster_1>truststore.jks
ssl.truststore.password: <truststore_pass>
ssl.truststore.type: JKS

- name: kafka-cluster-2
bootstrapServers: <bootstrap_hosts>:<ssl_port>
properties:
security.protocol: SASL_SSL
sasl.mechanism: SCRAM-SHA-256
sasl.jaas.config: org.apache.kafka.common.security.scram.ScramLoginModule required username="<user>" password="<password>";
ssl.truststore.location: /etc/kafkaui/<kafka_cluster_2>truststore.jks
ssl.truststore.password: <truststore_pass>
ssl.truststore.type: JKS

- name: kafka-cluster-3
bootstrapServers: <bootstrap_hosts>:<ssl_port>
properties:
security.protocol: SASL_SSL
sasl.mechanism: PLAIN
sasl.jaas.config: org.apache.kafka.common.security.plain.PlainLoginModule required username="<user>" password="<password>";
ssl.truststore.location: /etc/kafkaui/<kafka_cluster_3>truststore.jks
ssl.truststore.password: <truststore_pass>
ssl.truststore.type: JKS

rbac:
roles: []

webclient: {}


В примере мы подключаем 3 кластера, все используют SSL, два из них на SCRAM аутентификации, обычно с ней хранят пользователей в zookeeper. Один кластер использует PLAIN.

По примеру можно подключать и другие кластера, меняя те или иные настройки, например SSL или механизмы аутентификации.

spring.security.user - это креды от входа в kafka-ui.
bootstrap сервера можно перечислять через запятую, но достаточно и одного.

#kafka
More from @andtree_sec
  1. Sep 7, 2026Давненько не было сообщений. Скорее всего в будущем они уйдут в telegraf, который я еще не…
  2. Jul 6, 2026Последнее время на работе часто приходится работать с apache flink и даже что-то писать на…
  3. Jun 4, 2026Немножко про молекула тесты... У нас принято использовать в переменных lookup плагин для д…
  4. May 20, 2026Очередной небольшой проект. Веб-приложение, которое агрегирует через стандартный механиз g…
  5. May 15, 2026Включаем профилирование в ansible Профилирование, это вывод даты, времени запуска и итогов…
  6. Apr 17, 2026Так выглядит общий dashbord работы с инцидентами.
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →