Kafka-UI 项目集成 LDAP 认证的 Docker 部署指南
2025-07-06 05:27:17作者:姚月梅Lane
概述
本文将详细介绍如何使用 Docker Compose 部署 Kafka-UI 项目并集成 LDAP 认证功能。Kafka-UI 是一个开源的 Kafka 集群管理界面,提供了直观的 Web 界面来管理和监控 Kafka 集群。通过 LDAP 认证集成,可以实现企业级的用户认证和权限管理。
环境准备
在开始部署前,请确保已安装以下组件:
- Docker 最新版本
- Docker Compose 工具
核心组件解析
1. Kafka-UI 服务配置
Kafka-UI 是整套系统的核心组件,配置中主要包含两部分内容:
Kafka 集群连接配置:
KAFKA_CLUSTERS_0_NAME
: 定义集群名称KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS
: 指定 Kafka 服务地址KAFKA_CLUSTERS_0_SCHEMAREGISTRY
: Schema Registry 服务地址
LDAP 认证配置:
AUTH_TYPE
: 设置为 "LDAP" 启用 LDAP 认证SPRING_LDAP_URLS
: LDAP 服务器地址SPRING_LDAP_BASE
: 用户搜索基础路径SPRING_LDAP_ADMIN_USER
: LDAP 管理员账号SPRING_LDAP_ADMIN_PASSWORD
: 管理员密码- 用户和组过滤器配置
2. LDAP 服务
使用 rroemhild/test-openldap
镜像快速搭建测试用的 LDAP 服务,该镜像已预置了测试数据:
- 监听端口 10389
- 预置了
planetexpress.com
域和测试用户
3. Kafka 集群
使用 Confluent 官方镜像部署单节点 Kafka 集群:
- 配置了 PLAINTEXT 和 CONTROLLER 两种监听器
- 启用了 JMX 监控端口 9997
- 使用 KRaft 模式(去除了 ZooKeeper 依赖)
4. Schema Registry
Schema Registry 服务配置:
- 连接已部署的 Kafka 服务
- 监听 8085 端口
- 使用
_schemas
主题存储 schema 信息
部署步骤
-
创建
docker-compose.yml
文件,将上述配置内容复制到文件中 -
确保当前目录下有
scripts/update_run.sh
文件(Kafka 服务启动脚本) -
执行以下命令启动服务:
docker-compose up -d
- 等待所有容器启动完成后,访问
http://localhost:8080
即可使用 Kafka-UI
LDAP 认证测试
测试环境中预置了以下用户:
- 管理员账号:
cn=admin,dc=planetexpress,dc=com
,密码:GoodNewsEveryone
- 普通用户示例:
professor
、hermes
、fry
等,密码与用户名相同
生产环境建议
-
安全加固:
- 将 LDAP 连接升级为 LDAPS
- 配置 Kafka 集群使用 SSL/TLS 加密
- 修改默认的管理员密码
-
高可用配置:
- 部署多个 Kafka 节点组成集群
- 配置 Schema Registry 集群模式
- 考虑使用专业的 LDAP 服务如 Active Directory
-
性能优化:
- 根据用户规模调整 Kafka-UI 的资源限制
- 配置适当的 JVM 参数
常见问题排查
-
LDAP 连接失败:
- 检查 LDAP 服务是否正常运行
- 验证管理员凭据是否正确
- 确认网络连通性
-
Kafka 集群无法连接:
- 检查 Kafka 服务日志
- 验证 advertised.listeners 配置
- 确保端口映射正确
-
认证问题:
- 检查用户过滤器配置
- 确认用户存在于 LDAP 目录中
- 验证用户密码是否正确
通过本文介绍的配置,您可以快速搭建一个支持 LDAP 认证的 Kafka 管理平台,为企业提供安全可靠的 Kafka 集群管理解决方案。