Добавить в корзинуПозвонить
Найти в Дзене

Настроечка kafka-ui для подключение нескольких кластеров

Настроечка 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.ScramLoginModul

Настроечка 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