第 23 章 升级 AMQ Streams
将 AMQ Streams 安装升级到 2.5 版本,并从新功能、性能改进和增强的安全选项中受益。在升级过程中,Kafka 也更新至最新支持的版本,为 AMQ Streams 部署引入了额外的功能和程序错误修复。
如果您在新版本时遇到问题,AMQ Streams 可以 降级到 之前的版本。
发布的 AMQ Streams 版本可在 AMQ Streams 软件下载页面 中找到。
在不停机的情况下升级
对于配置了高可用性(至少 3 个和平均分布式分区)的主题,升级过程不应给消费者和生产者造成任何停机时间。
升级会触发滚动更新,其中代理会在进程的不同阶段重启一个。在这个时间内,整个集群可用性会临时减少,这可能会在代理失败时增加消息丢失的风险。
23.1. AMQ Streams 升级路径 复制链接链接已复制到粘贴板!
AMQ Streams 提供了两个升级路径。
- 增量升级
- 增量升级涉及将 AMQ Streams 从以前的次版本升级到 2.5 版本。
- 多版本升级
- 多版本升级涉及将旧版本的 AMQ Streams 升级到单个升级中的 2.5 版本,跳过一个或多个中间版本。例如,可以直接从 AMQ Streams 2.3 升级到 AMQ Streams 2.5。
23.1.1. 升级时支持 Kafka 版本 复制链接链接已复制到粘贴板!
升级 AMQ Streams 时,务必要确保与所使用的 Kafka 版本兼容非常重要。
即使支持的 Kafka 版本在旧版本和新版本之间有所不同,也可以进行多版本升级。但是,如果您试图升级到不支持当前 Kafka 版本的新 AMQ Streams 版本,则会出现 没有支持 Kafka 版本的错误。在这种情况下,您必须把 Kafka 自定义资源中的 spec.kafka.version 更改为新的 AMQ Streams 版本,将 Kafka Streams 升级的一部分升级为 AMQ Streams 升级的一部分。
- Kafka 3.5.0 支持在生产环境中使用。
- Kafka 3.4.0 仅支持升级到 AMQ Streams 2.5。
23.1.2. 从 1.7 更早的 AMQ Streams 版本升级 复制链接链接已复制到粘贴板!
如果您要从 1.7 版本之前的版本升级到 AMQ Streams 的最新版本,请执行以下操作:
- 按照标准序列 将 AMQ Streams 升级到 1.7 版本。
-
使用 AMQ Streams 提供的 API 转换工具 将 AMQ Streams 自定义资源转换为
v1beta2。 执行以下操作之一:
-
升级到 AMQ Streams 1.8 (默认禁用
ControlPlaneListener功能门)。 -
升级到 AMQ Streams 2.0 或 2.2 (其中默认启用
ControlPlaneListener功能门),并禁用了ControlPlaneListener功能门。
-
升级到 AMQ Streams 1.8 (默认禁用
-
启用
ControlPlaneListener功能门。 - 根据 标准序列 升级到 AMQ Streams 2.5。
AMQ Streams 自定义资源使用 1.7 版中的 v1beta2 API 版本启动。在升级到 AMQ Streams 1.8 或更高版本 前,必须转换 CRD 和自定义资源。有关使用 API 转换工具的详情,请参考 AMQ Streams 1.7 升级文档。
作为首次升级到 1.7 版本的替代选择,您可以从 1.7 安装自定义资源,然后转换资源。
现在,AMQ Streams 中永久启用了 ControlPlaneListener 功能。您必须升级到禁用的 AMQ Streams 版本,然后使用 Cluster Operator 配置中的 STRIMZI_FEATURE_GATES 环境变量启用它。
禁用 ControlPlaneListener 功能门
env:
- name: STRIMZI_FEATURE_GATES
value: -ControlPlaneListener
env:
- name: STRIMZI_FEATURE_GATES
value: -ControlPlaneListener
启用 ControlPlaneListener 功能门
env:
- name: STRIMZI_FEATURE_GATES
value: +ControlPlaneListener
env:
- name: STRIMZI_FEATURE_GATES
value: +ControlPlaneListener