Apache kafka 连接Kafdrop以保护MSK kafka代理

Apache kafka 连接Kafdrop以保护MSK kafka代理,apache-kafka,aws-msk,Apache Kafka,Aws Msk,我有一个运行ApacheKafka 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.prot

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

使用该默认配置,您需要使用SSL与MSK通信,但由于您没有在MSK上生成任何证书-在部署Kafdrop时,您可以省略第二个字符串、属性文件和信任库,只需让您的客户端使用TLS,这样您就只需要传递一个额外的参数
-e KAFKA|u PROPERTIES=“$(cat KAFKA.PROPERTIES | base64)”
其中
KAFKA.PROPERTIES
仅包含
security.protocol=SSL

,使用SSL与MSK通信所需的默认配置,但由于您没有在MSK上生成任何证书-在部署Kafdrop时,您可以完全忽略第二个字符串、属性文件和信任库,只需让您的客户机使用TLS,这样您就只需要传递一个额外的参数
-e KAFKA|u PROPERTIES=“$(cat KAFKA.PROPERTIES | base64)”
其中
KAFKA.PROPERTIES
仅包含
security.protocol=SSL