在Helm安装的Kafka / Confluent上使用连接器

Mat*_*ves 4 mysql apache-kafka kubernetes confluent apache-kafka-connect

我已按照以下说明https://docs.confluent.io/current/installation/installing_cp/cp-helm使用Helm图表https://github.com/confluentinc/cp-helm-charts在本地Minikube上安装了Kafka。-charts / docs / index.html像这样:

helm install -f kafka_config.yaml confluentinc/cp-helm-charts --name kafka-home-delivery --namespace cust360
Run Code Online (Sandbox Code Playgroud)

kafka_config.yaml与默认yaml几乎相同,唯一的例外是我将其缩减为1个服务器/代理,而不是3个(只是因为我试图节省本地minikube上的资源;希望这与我的问题)。

MySQL实例也在Minikube上运行。这是的输出kubectl get pods --namespace myNamespace

在此处输入图片说明

我想使用其中一种连接器(例如Debezium MySQL CDC)连接MySQL和Kafka 。在说明中说:

安装连接器

使用Confluent Hub客户端通过以下方式安装此连接器:

confluent-hub install debezium/debezium-connector-mysql:0.9.2

听起来不错,除了1)我不知道要在哪个Pod上运行此命令,2)所有Pod似乎都没有可用的confluent-hub命令。

问题:

  1. 是否通过这些Helm图表未安装融合枢纽?
  2. 我必须自己安装融合式集线器吗?
  3. 如果是这样,我必须在哪个吊舱上安装它?

Jeg*_*gan 5

理想情况下,它应该可以作为helm脚本的一部分进行配置,但不幸的是,目前还不是。解决此问题的一种方法是从Confluent的Kafka Connect Docker映像构建一个新的Docker。手动下载连接器,然后将内容提取到文件夹中。将其内容复制到容器中的路径。像下面这样。

Dockerfile的内容

FROM confluentinc/cp-kafka-connect:5.2.1
COPY <connector-directory> /usr/share/java
Run Code Online (Sandbox Code Playgroud)

/usr/share/java是Kafka Connect查找插件的默认位置。您也可以plugin.pathhelm安装过程中使用其他位置并提供新的位置()。

构建此映像并将其托管在可访问的位置。在helm安装过程中,您还必须提供/覆盖图像和标签详细信息。

values.yaml文件的路径。您可以在此处找到imageplugin.path值。