2.2.6. 从使用 S2I 的 Kafka Connect 迁移到 Kafka Connect


对 Kafka Connect with S2I 和 KafkaConnectS2I 资源的支持已弃用。这会在 KafkaConnect 资源引入 构建配置 属性,用于使用连接器插件来自动构建容器镜像。

这个步骤描述了如何使用 S2I 实例将 Kafka Connect 迁移到标准 Kafka Connect 实例。为此,您需要配置一个新的 KafkaConnect 自定义资源来替换 KafkaConnectS2I 资源,然后删除该资源。

警告

迁移过程涉及从 KafkaConnectS2I 实例删除到新 KafkaConnect 实例部署成功时的停机时间。在此期间,连接器将不会运行和处理数据。但是,更改后,它们应从停止的时间点继续。

先决条件

  • 使用 KafkaConnectS2I 配置部署带有 S 2I 的 Kafka Connect
  • 与 S2I 的 Kafka Connect 使用带有使用 S2I 构建添加的连接器的镜像
  • sink 和源连接器实例是使用 KafkaConnector 资源或 Kafka Connect REST API 创建的

流程

  1. 使用与用于 Kafka connectS2I 资源的名称相同的名称创建新的 Kafka Connect 自定义资源。
  2. KafkaConnectS2I 资源属性复制到 KafkaConnect 资源。
  3. 如果指定,请确保使用相同的 spec.config 属性:

    • group.id
    • offset.storage.topic
    • config.storage.topic
    • status.storage.topic

      如果未指定这些属性,则使用默认值。在这种情况下,也将其从 KafkaConnect 资源配置中退出。

    现在,将特定于 KafkaConnect 资源的配置添加到新资源中。

  4. 添加 构建配置,以配置您要添加到 Kafka Connect 部署中的所有连接器和其他库。

    注意

    或者,您也可以使用连接器手动构建新镜像,并使用 .spec.image 属性指定它。

  5. 删除旧的 KafkaConnectS2I 资源:

    oc delete -f MY-KAFKA-CONNECT-S2I-CONFIG-FILE
    Copy to Clipboard Toggle word wrap

    MY-KAFKA-CONNECT-S2I-CONFIG-FILE 替换为包含 KafkaConnectS2I 资源配置的文件名。

    另外,您可以指定资源的名称:

    oc delete kafkaconnects2i MY-KAFKA-CONNECT-S2I
    Copy to Clipboard Toggle word wrap

    MY-KAFKA-CONNECT-S2I 替换为 KafkaConnectS2I 资源的名称。

    等待 Kafka Connect with S2I 部署被删除,并且 pod 已被删除。

    警告

    不得删除任何其他资源。

  6. 部署新的 KafkaConnect 资源:

    oc apply -f MY-KAFKA-CONNECT-CONFIG-FILE
    Copy to Clipboard Toggle word wrap

    MY-KAFKA-CONNECT-CONFIG-FILE 替换为包含新 KafkaConnect 资源配置的文件名称。

    等待新镜像构建好,部署创建好,并且容器集已启动。

  7. 如果您使用 KafkaConnector 资源来管理 Kafka Connect 连接器,请检查所有预期的连接器是否存在并正在运行:

    oc get kctr --selector strimzi.io/cluster=MY-KAFKA-CONNECT-CLUSTER -o name
    Copy to Clipboard Toggle word wrap

    MY-KAFKA-CONNECT-CLUSTER 替换为 Kafka Connect 集群的名称。

    通过 Kafka Connect 存储自动恢复连接器。即使您使用 Kafka Connect REST API 管理它们,您不应该手动重新创建它们。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat