搜索

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

download PDF

对 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

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

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

    oc delete kafkaconnects2i MY-KAFKA-CONNECT-S2I

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

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

    警告

    不得删除任何其他资源。

  6. 部署新的 KafkaConnect 资源:

    oc apply -f MY-KAFKA-CONNECT-CONFIG-FILE

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

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

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

    oc get kctr --selector strimzi.io/cluster=MY-KAFKA-CONNECT-CLUSTER -o name

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

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

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.