87.2. plugins
连接器插件是一组文件,用于定义连接到某些类型的外部系统所需的实施。容器镜像所需的连接器插件必须使用 KafkaConnect
自定义资源的 .spec.build.plugins
属性进行配置。每个连接器插件都必须有一个在 Kafka Connect 部署中唯一的名称。另外,必须列出插件工件。这些工件由 Apache Kafka 的 Streams 下载,添加到新容器镜像中,并在 Kafka Connect 部署中使用。连接器插件工件也可以包含其他组件,如(de) serializers。每个连接器插件都下载到一个单独的目录中,以便不同的连接器和它们的依赖项被正确地进行了沙盒处理。每个插件必须配置至少一个 工件
。
带有两个连接器插件的插件
配置示例
- 1
- (必需)连接器插件及其工件列表。
Apache Kafka 的流支持以下工件类型:
- 直接使用的 JAR 文件
- TGZ 归档(已下载并解包)
- ZIP 存档,它们已下载并解包
- Maven 工件(使用 Maven 协调)
- 其他直接下载和使用的工件
Apache Kafka 的流不会对下载工件进行任何安全扫描。为了安全起见,您应该首先手动验证工件,并配置 checksum 验证,以确保在自动构建和 Kafka Connect 部署中使用相同的工件。
使用 JAR 工件
JAR 工件代表一个 JAR 文件,该文件已下载并添加到容器镜像中。要使用 JAR 工件,请将 type
属性设置为 jar
,并使用 url
属性指定下载位置。
另外,您可以指定工件的 SHA-512 校验和。如果指定了,Apache Kafka 的 Streams 会在构建新容器镜像时验证工件的校验和。
JAR 工件示例
使用 TGZ 工件
TGZ 工件用于下载使用 Gzip 压缩压缩的 TAR 存档。TGZ 工件可以包含整个 Kafka Connect 连接器,即使由多个不同文件组成。在构建新容器镜像时,TGZ 工件由 Streams for Apache Kafka 自动下载并解包。要使用 TGZ 工件,请将 type
属性设置为 tgz
,并使用 url
属性指定下载位置。
另外,您可以指定工件的 SHA-512 校验和。如果指定了,Apache Kafka 的 Streams 会在解包并构建新容器镜像前验证 checksum。
TGZ 工件示例
使用 ZIP 工件
ZIP 工件用于下载 ZIP 压缩存档。使用 ZIP 工件的方式与上一节中描述的 TGZ 工件相同。唯一的区别是指定 type: zip
而不是 type: tgz
。
使用 Maven 工件
Maven
工件用于指定连接器插件工件作为 Maven 协调。Maven 协调识别插件工件和依赖项,以便可以从 Maven 存储库获取它们。
连接器构建过程必须可以访问 Maven 存储库,才能将工件添加到容器镜像中。
Maven 工件示例
使用其他
工件
其他
工件代表下载并添加到容器镜像中的任何类型的文件。如果要在生成的容器镜像中为工件使用特定名称,请使用 fileName
字段。如果没有指定文件名,则该文件会根据 URL 哈希命名。
另外,您可以指定工件的 SHA-512 校验和。如果指定了,Apache Kafka 的 Streams 会在构建新容器镜像时验证工件的校验和。
other
工件示例