
purbon/kafka-topology-builderGitHub 仓库:[***]
,并管理 Kafka 主题、配置及所需权限。该工具能够根据不同产品/项目(如 Kafka Connect、Kafka Streams 等)的需求,自动设置相应的权限。通过与 Git 和 Jenkins(CI/CD)紧密协作,它提供了一种有组织的、自动化的 Kafka 集群管理方式。
支持多种访问控制机制:
自动设置访问控制规则:
主题命名规范管理:
支持创建、删除和更新:
适用于需要对 Apache Kafka 集群进行规范化、自动化管理的场景,尤其是在多团队协作、需要严格权限控制和审计跟踪的企业环境中。通过 GitOps 和 CI/CD 流程,开发团队可以提交主题和权限变更请求,运维管理员进行审核和合并,实现 Kafka 资源的安全、有序管理。
该工具提供多种使用格式:
最新版本可从 发布页面 获取。
通过以下命令运行 Docker 镜像:
bashdocker run purbon/kafka-topology-builder:latest kafka-topology-builder.sh --help
执行后输出帮助信息(示例):
Parsing failed cause of Missing required options: topology, brokers, clientConfig usage: cli --allowDelete 允许对主题和配置执行删除操作。 --brokers <arg> 要连接的 Apache Kafka 服务器。 --clientConfig <arg> AdminClient 配置文件。 --help 打印使用信息。 --quite 打印最小状态更新。 --topology <arg> 拓扑配置文件。
若通过 RPM 包安装,kafka-topology-builder.sh 脚本将添加到环境变量 $PATH 中,可直接使用上述相同选项执行该脚本。
拓扑配置文件采用 YAML 格式,示例如下:
yamlteam: "team" source: "source" projects: - name: "foo" zookeepers: [] consumers: - principal: "User:app0" - principal: "User:app1" producers: [] streams: - principal: "User:App0" topics: read: - "topicA" - "topicB" write: - "topicC" - "topicD" connectors: - principal: "User:Connect1" topics: read: - "topicA" - "topicB" - principal: "User:Connect2" topics: write: - "topicC" - "topicD" topics: - name: "foo" # 主题名称:team.source.foo.foo config: replication.factor: "2" num.partitions: "3" - name: "bar" # 主题名称:team.source.foo.bar config: replication.factor: "2" num.partitions: "3" - name: "bar" zookeepers: [] consumers: [] producers: [] streams: [] connectors: [] topics: - name: "bar" # 主题名称:team.source.bar.bar config: replication.factor: "2" num.partitions: "3"
更多示例可在 example/ 目录中找到。
操作:作为开发团队成员,需要对 Apache Kafka 进行变更。
变更请求:
作为运维管理员:
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务