Kafka-UI项目Docker Compose配置详解
2025-07-06 05:21:10作者:殷蕙予
Kafka-UI是一个基于Web的Kafka集群管理界面,提供了直观的可视化操作方式。本文将详细介绍该项目提供的各种Docker Compose配置方案,帮助开发者根据实际需求选择合适的部署方式。
标准配置方案
1. 基础配置 (kafka-ui.yaml)
这是最基础的配置方案,包含以下组件:
- 2个Kafka集群(每个集群2个节点)
- 2个Schema Registry节点
- 1个Kafka Connect服务
- 若干测试用Topic
这个配置适合初次体验Kafka-UI功能的用户,可以完整展示UI的各项功能。
2. ARM64架构配置 (kafka-ui-arm64.yaml)
专为ARM64架构(如Mac M1芯片)优化的配置:
- 1个Kafka集群(使用KRaft模式,无需Zookeeper)
- 1个Schema Registry节点
- 1个Kafka Connect服务
- 若干测试用Topic
开发环境配置
3. 仅Kafka集群配置 (kafka-clusters-only.yaml)
专为开发设计的精简配置:
- 仅包含Kafka相关服务
- 不包含Kafka-UI本身
- 适合本地开发调试使用
安全相关配置
4. SSL/TLS加密连接 (kafka-ui-ssl.yml)
实现Kafka集群的SSL/TLS加密通信,包含:
- 证书配置
- 安全通信通道建立
- 加密验证机制
5. Schema Registry认证 (kafka-cluster-sr-auth.yaml)
为Schema Registry添加认证功能,包含:
- 用户认证机制
- 访问控制配置
- 安全接口设计
6. 基础认证 (kafka-ui-auth-context.yaml)
为Kafka-UI添加基础认证功能:
- 用户名/密码认证
- 自定义访问路径
- 安全上下文配置
10. SASL认证 (kafka-ui-sasl.yaml)
实现Kafka的SASL认证:
- SASL机制配置
- 认证协议实现
- 安全通信保障
12. OAuth2 Cognito认证 (oauth-cognito.yaml)
集成AWS Cognito的OAuth2认证:
- OAuth2流程实现
- Cognito服务集成
- 令牌验证机制
监控与指标
8. JMX安全监控 (kafka-ui-jmx-secured.yml)
实现Kafka JMX的安全监控:
- SSL加密通信
- 认证机制
- 安全指标收集
13. Prometheus JMX导出器 (kafka-ui-with-jmx-exporter.yaml)
使用Prometheus JMX导出器替代原生JMX:
- 2个Kafka集群
- Prometheus指标导出
- 监控数据收集
代理与负载均衡
9. Nginx反向代理 (kafka-ui-reverse-proxy.yaml)
在Nginx后部署Kafka-UI的示例:
- 反向代理配置
- 路径重写规则
- 负载均衡设置
11. Traefik代理配置 (kafka-ui-traefik-proxy.yaml)
专为Traefik设计的代理配置:
- 服务发现
- 路由规则
- TLS终止
特殊场景配置
7. 端到端测试配置 (e2e-tests.yaml)
包含多种连接器的测试环境:
- GitHub源连接器
- S3连接器
- 活动源/接收器
- KSQL功能测试
14. Zookeeper模式配置 (kafka-with-zookeeper.yaml)
传统Zookeeper模式的Kafka集群:
- Zookeeper集成
- 传统架构支持
- 兼容性配置
选择建议
- 初学者:建议从基础配置(kafka-ui.yaml)开始
- ARM架构用户:使用kafka-ui-arm64.yaml
- 生产环境:根据安全需求选择SSL或SASL配置
- 云环境:考虑OAuth2或代理配置
- 监控需求:选择JMX或Prometheus导出器配置
每种配置都针对特定场景进行了优化,开发者可根据实际需求进行选择和组合使用。