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

问题描述 投票:2回答:2

我已经按照这些说明https://github.com/confluentinc/cp-helm-charts使用Helm chart https://docs.confluent.io/current/installation/installing_cp/cp-helm-charts/docs/index.html在本地Minikube上安装了Kafka,如下所示:

helm install -f kafka_config.yaml confluentinc/cp-helm-charts --name kafka-home-delivery --namespace cust360

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

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

enter image description here

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

安装连接器

使用Confluent Hub客户端安装此连接器:

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

听起来不错,除了1)我不知道哪个pod运行此命令,2)没有任何pod似乎有一个confluent-hub命令可用。

问题:

  1. 是否通过Helm图表安装了汇流集线器?
  2. 我必须自己安装confluent-hub吗?
  3. 如果是这样,我必须安装哪个pod?
mysql kubernetes apache-kafka apache-kafka-connect confluent
2个回答
4
投票

理想情况下,这应该可以配置为helm脚本的一部分,但遗憾的是它不是现在。解决这个问题的一种方法是从Confluent的Kafka Connect Docker镜像构建一个新的Docker。手动下载连接器并将内容解压缩到一个文件夹中。将其内容复制到容器中的路径。像下面的东西。

Dockerfile的内容

FROM confluentinc/cp-kafka-connect:5.2.1
COPY <connector-directory> /usr/share/java

/usr/share/java是Kafka Connect查找插件的默认位置。您还可以使用不同的位置,并在plugin.path安装过程中提供新位置(helm)。

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

Herevalues.yaml文件的路径。你可以在这里找到imageplugin.path值。


2
投票

Kafka Connect pod应该已经安装了confluent-hub。你应该在那个pod上运行命令。

© www.soinside.com 2019 - 2024. All rights reserved.