【问题标题】:Connecting Kafdrop to secure MSK kafka brokers将 Kafdrop 连接到安全的 MSK kafka 经纪人
【发布时间】:2020-05-14 19:48:59
【问题描述】:

我有一个运行 apache kafka 2.2.1 的安全 MSK 集群。如果我在私有子网(amazon linux 2)中创建一个 ec2 实例并安装 java 和 kafka,我可以执行以下操作来与 kafka 通信:

cp /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.252.b09-2.amzn2.0.1.x86_64/jre/lib/security/cacerts /tmp/kafka.client.truststore.jks

然后制作一个类似

的文件
security.protocol=SSL
ssl.truststore.location=/tmp/kafka.client.truststore.jks

并在 --command-config 参数中将该文件传递给一些 kafka cli 命令。

我现在正在尝试在 ECS 容器中运行 kafdrop,我需要传入这个文件。 The documentation 说我可以为KAFKA_TRUSTSTOREKAFKA_PROPERTIES 传递base64 编码版本(我想我可以省略KAFKA_KEYSTORE?)。但是,如果我对信任库进行 base64 编码,我必须将这个巨大的字符串复制粘贴到 ECS 任务定义中。有没有解决的办法?是否可以以 kafdrop 映像为基础创建我自己的 docker 映像,然后添加到信任库文件中?

【问题讨论】:

    标签: apache-kafka aws-msk


    【解决方案1】:

    使用默认配置,您需要使用 SSL 与 MSK 进行通信,但由于您没有在 MSK 上生成任何证书 - 部署 Kafdrop 时,您可以省略第二个字符串以及您的属性文件和信任库,只需让您的客户端使用 TLS,因此作为您需要传递的唯一附加参数 -e KAFKA_PROPERTIES="$(cat kafka.properties | base64)" 其中kafka.properties 仅包含security.protocol=SSL

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-01
      • 2020-10-28
      • 2020-05-09
      • 2013-10-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-21
      • 2021-04-15
      相关资源
      最近更新 更多