我有一个运行 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,我需要传入这个文件。文档说我可以传入一个base64编码的版本KAFKA_TRUSTSTORE
和KAFKA_PROPERTIES
(我想我可以省略KAFKA_KEYSTORE
?)。但是,如果我对信任库进行 base64 编码,我必须将这个巨大的字符串复制粘贴到 ECS 任务定义中。有没有解决的办法?是否可以以 kafdrop 映像为基础创建我自己的 docker 映像,然后添加到信任库文件中?