搜索

25.2. Apache Kafka 升级路径流

download PDF

对于 Apache Kafka,有两个升级路径可用于 Apache Kafka。

增量升级
增量升级涉及将 Apache Kafka 的流从以前的次版本升级到 2.7 版本。
多版本升级
多版本升级涉及将 Apache Kafka 的旧版本升级到 2.7 版本,并跳过一个或多个中间版本。例如,可以直接从 Apache Kafka 2.3.0 的 Streams 升级到 Apache Kafka 2.7。

25.2.1. 升级时支持 Kafka 版本

当升级 Apache Kafka 的流时,务必要确保与正在使用的 Kafka 版本兼容。

即使支持的 Kafka 版本在旧版本和新版本之间有所不同,也可以进行多版本升级。但是,如果您试图升级到不支持当前 Kafka 版本的 Apache Kafka 版本的新流 ,则会生成 Kafka 版本的错误。在这种情况下,您必须通过将 Kafka 自定义资源中的 spec.kafka.version 改为 Apache Kafka 版本支持的版本,将 Kafka 版本升级为 Apache Kafka 升级的 Streams 的一部分。

25.2.2. 从 1.7 之前的 Apache Kafka 版本升级

如果您要从 1.7 版本之前的版本升级到 Apache Kafka 的最新版本,请执行以下操作:

  1. 按照标准序列,将 Apache Kafka 的流升级到 1.7 版本。
  2. 使用 Apache Kafka 提供的 API 转换工具 将 Apache Kafka 自定义资源的 Streams 转换为 v1beta2
  3. 执行以下操作之一:

    • 将 Apache Kafka 的流升级到 1.8 到 0.26 之间的版本(默认禁用 ControlPlaneListener 功能门)。
    • 将 Apache Kafka 的流升级到 2.0 到 0.31 之间的版本(其中已默认启用 ControlPlaneListener 功能门),并禁用了 ControlPlaneListener 功能门。
  4. 启用 ControlPlaneListener 功能门。
  5. 按照标准序列,升级到 Apache Kafka 2.7 的流

Apache Kafka 自定义资源的流使用版本 1.7 中的 v1beta2 API 版本启动。在将 CRD 和自定义资源升级到 Apache Kafka 1.8 或更新版本 ,必须转换 CRD 和自定义资源。有关使用 API 转换工具的详情,请参考 Apache Kafka 1.7 升级文档的流

注意

作为首次升级到 1.7 版本的替代选择,您可以从 1.7 版本安装自定义资源,然后转换资源。

ControlPlaneListener 功能现在在 Apache Kafka 的 Streams 中永久启用。您必须升级到禁用 Apache Kafka 的 Streams 版本,然后使用 Cluster Operator 配置中的 STRIMZI_FEATURE_GATES 环境变量启用它。

禁用 ControlPlaneListener 功能门

env:
  - name: STRIMZI_FEATURE_GATES
    value: -ControlPlaneListener

启用 ControlPlaneListener 功能门

env:
  - name: STRIMZI_FEATURE_GATES
    value: +ControlPlaneListener

25.2.3. Kafka 版本和镜像映射

在升级 Kafka 时,请考虑 STRIMZI_KAFKA_IMAGES 环境变量和 Kafka.spec.kafka.version 属性的设置。

  • 每个 Kafka 资源都可以配置 Kafka.spec.kafka.version,如果未指定,则默认为最新支持的 Kafka 版本(3.7.0)。
  • Cluster Operator 的 STRIMZI_KAFKA_IMAGES 环境变量在 Kafka 版本和给定 Kafka 资源中请求特定的 Kafka 版本时提供映射(<kafka_version>=<image&gt ; )。例如: 3.7.0=registry.redhat.io/amq-streams/kafka-37-rhel9:2.7.0。

    • 如果没有配置 Kafka.spec.kafka.image,则会使用给定版本的默认镜像。
    • 如果配置了 Kafka.spec.kafka.image,则默认镜像会被覆盖。
警告

Cluster Operator 无法验证镜像是否实际包含预期版本的 Kafka 代理。请小心操作,确保给定镜像与给定的 Kafka 版本对应。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.