首页
/ Kafka-UI 项目集成 LDAP 认证的 Docker 部署指南

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 信息

部署步骤

  1. 创建 docker-compose.yml 文件,将上述配置内容复制到文件中

  2. 确保当前目录下有 scripts/update_run.sh 文件(Kafka 服务启动脚本)

  3. 执行以下命令启动服务:

docker-compose up -d
  1. 等待所有容器启动完成后,访问 http://localhost:8080 即可使用 Kafka-UI

LDAP 认证测试

测试环境中预置了以下用户:

  • 管理员账号:cn=admin,dc=planetexpress,dc=com,密码:GoodNewsEveryone
  • 普通用户示例:professorhermesfry 等,密码与用户名相同

生产环境建议

  1. 安全加固

    • 将 LDAP 连接升级为 LDAPS
    • 配置 Kafka 集群使用 SSL/TLS 加密
    • 修改默认的管理员密码
  2. 高可用配置

    • 部署多个 Kafka 节点组成集群
    • 配置 Schema Registry 集群模式
    • 考虑使用专业的 LDAP 服务如 Active Directory
  3. 性能优化

    • 根据用户规模调整 Kafka-UI 的资源限制
    • 配置适当的 JVM 参数

常见问题排查

  1. LDAP 连接失败

    • 检查 LDAP 服务是否正常运行
    • 验证管理员凭据是否正确
    • 确认网络连通性
  2. Kafka 集群无法连接

    • 检查 Kafka 服务日志
    • 验证 advertised.listeners 配置
    • 确保端口映射正确
  3. 认证问题

    • 检查用户过滤器配置
    • 确认用户存在于 LDAP 目录中
    • 验证用户密码是否正确

通过本文介绍的配置,您可以快速搭建一个支持 LDAP 认证的 Kafka 管理平台,为企业提供安全可靠的 Kafka 集群管理解决方案。