13.2.74.2. plugins
连接器插件是一组文件,用于定义连接特定类型外部系统所需的实施。容器镜像所需的连接器插件必须使用 KafkaConnect
自定义资源的 .spec.build.plugins
属性进行配置。每个连接器插件都必须具有一个在 Kafka Connect 部署中唯一的名称。此外,还必须列出插件工件。这些工件由 AMQ Streams 下载,添加到新容器镜像中,并在 Kafka Connect 部署中使用。连接器插件工件也可以包含其他组件,如(de)serializers。每个连接器插件都会下载到单独的目录中,以便正确 沙盒 不同的连接器及其依赖项。每个插件必须至少配置一个 工件
。
有两个连接器 插件的插件
配置示例
apiVersion: kafka.strimzi.io/v1beta2
kind: KafkaConnect
metadata:
name: my-connect-cluster
spec:
#...
build:
output:
#...
plugins: 1
- name: debezium-postgres-connector
artifacts:
- type: tgz
url: https://repo1.maven.org/maven2/io/debezium/debezium-connector-postgres/1.3.1.Final/debezium-connector-postgres-1.3.1.Final-plugin.tar.gz
sha512sum: 962a12151bdf9a5a30627eebac739955a4fd95a08d373b86bdcea2b4d0c27dd6e1edd5cb548045e115e33a9e69b1b2a352bee24df035a0447cb820077af00c03
- name: camel-telegram
artifacts:
- type: tgz
url: https://repo.maven.apache.org/maven2/org/apache/camel/kafkaconnector/camel-telegram-kafka-connector/0.7.0/camel-telegram-kafka-connector-0.7.0-package.tar.gz
sha512sum: a9b1ac63e3284bea7836d7d24d84208c49cdf5600070e6bd1535de654f6920b74ad950d51733e8020bf4187870699819f54ef5859c7846ee4081507f48873479
#...
- 1
- (必需)连接器插件及其工件的列表。
AMQ Streams 支持以下类型的工件:* JAR 文件,被直接下载和使用 * TGZ 存档,这些存档会被下载和解包 * 其他工件(可直接下载和使用)
AMQ Streams 不对下载的工件进行任何安全扫描。出于安全考虑,您应首先手动验证工件,并配置 checksum 验证,以确保自动构建和在 Kafka Connect 部署中使用相同的工件。
使用 JAR 工件
JAR 工件表示 JAR 文件,它被下载并添加到容器镜像中。要使用 JAR 工件,请将 type
属性设置为 jar
,再使用 url
属性指定下载位置。
另外,您可以指定工件的 SHA-512 校验和。如果指定,AMQ Streams 将在构建新容器镜像时验证工件的校验和。
JAR 工件示例
apiVersion: kafka.strimzi.io/v1beta2 kind: KafkaConnect metadata: name: my-connect-cluster spec: #... build: output: #... plugins: - name: my-plugin artifacts: - type: jar 1 url: https://my-domain.tld/my-jar.jar 2 sha512sum: 589...ab4 3 - type: jar url: https://my-domain.tld/my-jar2.jar #...
使用 TGZ 工件
TGZ 工件用于下载使用 Gzip 压缩压缩的 TAR 存档。TGZ 构件可以包含整个 Kafka Connect 连接器,即使包含多个不同的文件。构建新容器镜像时,AMQ Streams 会自动下载并解压缩 TGZ 构件。要使用 TGZ 工件,请将 type
属性设置为 tgz
,并使用 url
属性指定下载位置。
另外,您可以指定工件的 SHA-512 校验和。如果指定,AMQ Streams 将先验证校验和,然后再解压缩它并构建新的容器镜像。
TGZ 构件示例
apiVersion: kafka.strimzi.io/v1beta2 kind: KafkaConnect metadata: name: my-connect-cluster spec: #... build: output: #... plugins: - name: my-plugin artifacts: - type: tgz 1 url: https://my-domain.tld/my-connector-archive.jar 2 sha512sum: 158...jg10 3 #...
使用 其他
工件
其他
工件表示要下载并添加到容器镜像的任何类型的文件。如果要在生成的容器镜像中使用特定名称作为工件,请使用 fileName
字段。如果未指定文件名,则基于 URL 哈希命名该文件。
另外,您可以指定工件的 SHA-512 校验和。如果指定,AMQ Streams 将在构建新容器镜像时验证工件的校验和。
其他
工件示例
apiVersion: kafka.strimzi.io/v1beta2 kind: KafkaConnect metadata: name: my-connect-cluster spec: #... build: output: #... plugins: - name: my-plugin artifacts: - type: other 1 url: https://my-domain.tld/my-other-file.ext 2 sha512sum: 589...ab4 3 fileName: name-the-file.ext 4 #...