如何将自定义 jar 文件添加/复制到 KafkaMirrorMaker?
How to add / copy a custom jar file into KafkaMirrorMaker?
我正在开发一些自定义主题名称映射,并且已经生成了一个 jar 文件。
而且由于我使用的是 MirrorMaker v1,这些变量也已添加 KAFKA_MIRRORMAKER_MESSAGE_HANDLER
和 KAFKA_MIRRORMAKER_MESSAGE_HANDLER_ARGS
在 KafkaMirrorMaker yaml 文件中。
但我不知道如何将这个自定义 jar 文件物理添加到 KafkaMirrorMaker pod 中。我已经检查了 KafkaMirrorMaker 的 CRD,但还没有找到任何线索。
那么,有没有办法让 KafkaMirrorMaker 下载一些文件/工件并将 jar 文件包含到类路径中,以便自定义 MessageHandler 可以找到它?
helm install命令用于部署Mirror Maker。我目前使用的KafkaMirrorMaker的apiVersion:kafka.strimzi.io/v1beta2
根据 strimzi
标签,我假设您使用的是 Strimzi 的 Mirror Maker v1?要添加您自己的 JAR,您需要构建自定义容器映像。
您可以修改 Strimzi 项目源并从头构建所有内容(您可以将 JAR 作为依赖项添加到 第三方库 中的 docker-images/kafka/。 ..).但这在构建整个项目时相当复杂。
最简单的方法是编写您自己的 Docker 文件并使用现有的 Strimzi 图像作为基础图像。例如:
FROM quay.io/strimzi/kafka:0.26.0-kafka-3.0.0
USER root:root
COPY ./my-jar.jar /opt/kafka/libs/my-jar.jar
USER 1001
您可以构建此 Docker 文件并将其推送到您自己的 Docker 注册表(Docker Hub、Quay,无论您使用什么)。您应该确保 FROM
根据您使用的 Strimzi 版本和您使用的 KAfka 版本使用正确的图像。
一旦你有了它,你必须告诉 Strimzi 使用这个图像。您可以使用 KafkaMirrorMaker
自定义资源中的 .spec.image
选项来做到这一点。或者您可以在 Strimzi Cluster Operator 部署中更改环境变量 STRIMZI_KAFKA_MIRROR_MAKER_IMAGES
并更新应该在那里使用的图像。
我正在开发一些自定义主题名称映射,并且已经生成了一个 jar 文件。
而且由于我使用的是 MirrorMaker v1,这些变量也已添加 KAFKA_MIRRORMAKER_MESSAGE_HANDLER
和 KAFKA_MIRRORMAKER_MESSAGE_HANDLER_ARGS
在 KafkaMirrorMaker yaml 文件中。
但我不知道如何将这个自定义 jar 文件物理添加到 KafkaMirrorMaker pod 中。我已经检查了 KafkaMirrorMaker 的 CRD,但还没有找到任何线索。
那么,有没有办法让 KafkaMirrorMaker 下载一些文件/工件并将 jar 文件包含到类路径中,以便自定义 MessageHandler 可以找到它?
helm install命令用于部署Mirror Maker。我目前使用的KafkaMirrorMaker的apiVersion:kafka.strimzi.io/v1beta2
根据 strimzi
标签,我假设您使用的是 Strimzi 的 Mirror Maker v1?要添加您自己的 JAR,您需要构建自定义容器映像。
您可以修改 Strimzi 项目源并从头构建所有内容(您可以将 JAR 作为依赖项添加到 第三方库 中的 docker-images/kafka/。 ..).但这在构建整个项目时相当复杂。
最简单的方法是编写您自己的 Docker 文件并使用现有的 Strimzi 图像作为基础图像。例如:
FROM quay.io/strimzi/kafka:0.26.0-kafka-3.0.0
USER root:root
COPY ./my-jar.jar /opt/kafka/libs/my-jar.jar
USER 1001
您可以构建此 Docker 文件并将其推送到您自己的 Docker 注册表(Docker Hub、Quay,无论您使用什么)。您应该确保 FROM
根据您使用的 Strimzi 版本和您使用的 KAfka 版本使用正确的图像。
一旦你有了它,你必须告诉 Strimzi 使用这个图像。您可以使用 KafkaMirrorMaker
自定义资源中的 .spec.image
选项来做到这一点。或者您可以在 Strimzi Cluster Operator 部署中更改环境变量 STRIMZI_KAFKA_MIRROR_MAKER_IMAGES
并更新应该在那里使用的图像。