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
  #...

1
(必需)工件类型.
2
(必需)从中下载工件的 URL。
3
(可选)SHA-512 checksum 以验证工件。

使用 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
  #...

1
(必需)工件类型.
2
从中下载存档的(必需)URL。
3
(可选)SHA-512 checksum 以验证工件。

使用 其他 工件

其他 工件表示要下载并添加到容器镜像的任何类型的文件。如果要在生成的容器镜像中使用特定名称作为工件,请使用 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
  #...

1
(必需)工件类型.
2
(必需)从中下载工件的 URL。
3
(可选)SHA-512 checksum 以验证工件。
4
(可选)文件存储在生成的容器镜像中的名称。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.