第 10 章 升级 AMQ Streams
AMQ Streams 可以升级至 2.3 版本,以充分利用新功能、改进性能以及安全性选项。
作为升级的一部分,您需要将 Kafka 升级到最新支持的版本。每个 Kafka 版本都会为 AMQ Streams 部署引入了新功能、改进和程序错误修复。
如果您遇到与 新版本相关的问题,AMQ Streams 可以降级到 以前的版本。
发布的 AMQ Streams 版本可从 AMQ Streams 软件下载页面获得。
升级停机时间和可用性
如果为高可用性配置了主题,升级 AMQ Streams 不应该导致消费者和制作者发布和从这些主题发布和读取数据的生产时间。高可用性主题在代理中平均分布至少 3 个和分区的复制因素。
升级 AMQ Streams 会触发滚动更新,所有代理都会在进程的不同阶段重启。在滚动更新过程中,并非所有代理都在线,因此会临时减少 集群总体可用性。集群可用性的缩减会增加代理失败会导致信息丢失的几率。
10.1. AMQ Streams 升级路径 复制链接链接已复制到粘贴板!
可以使用两个升级路径。
- 增量升级
- 将 AMQ Streams 从以前的次版本升级到 2.3 版本。
- 多版本升级
在单个升级中,将 AMQ Streams 从旧版本升级到 2.3 (skipping一个或多个中间版本)。
例如,从 AMQ Streams 1.8 直接升级到 AMQ Streams 2.3。
10.1.1. 支持的 Kafka 版本 复制链接链接已复制到粘贴板!
决定在启动 AMQ Streams 升级过程前要升级到的 Kafka 版本。您可以在 AMQ Streams 支持的配置 中查看支持的 Kafka 版本。
- 对于生产环境,支持 Kafka 3.3.1。
- Kafka 3.2.3 仅支持升级到 AMQ Streams 2.3。
只能使用您要使用的 AMQ Streams 版本支持的 Kafka 版本。只要您的 AMQ Streams 版本支持,就可以升级到一个更高的 Kafka 版本。在某些情况下,您还可以降级以前的 Kafka 版本。
10.1.2. 从 1.7 之前的 AMQ Streams 版本升级 复制链接链接已复制到粘贴板!
如果要从 1.7 版本之前的版本升级到 AMQ Streams 的最新版本,请执行以下操作:
- 按照标准序列 将 AMQ Streams 升级到 1.7。
-
使用 AMQ Streams 1.8 提供的 Red Hat AMQ Streams API Conversion Tool 将 AMQ Streams 自定义资源转换为
v1beta2。 执行以下操作之一:
-
升级到 AMQ Streams 1.8 (其中
ControlPlaneListener功能被默认禁用)。 -
升级到 AMQ Streams 2.0 或 2.2 (其中
ControlPlaneListener功能门被默认启用),并禁用ControlPlaneListener功能门。
-
升级到 AMQ Streams 1.8 (其中
-
启用
ControlPlaneListener功能门。 - 按照标准序列 升级到 AMQ Streams 2.3。
AMQ Streams 自定义资源使用 1.7 中的 v1beta2 API 版本启动。在升级到 AMQ Streams 1.8 或更新版本 前,必须转换 CRD 和自定义资源。有关使用 API 转换工具的详情,请查看 AMQ Streams 1.7 升级文档。
作为第一个升级到 1.7 版本的替代选择,您可以从版本 1.7 中安装自定义资源,然后转换资源。
ControlPlaneListener 功能现在在 AMQ Streams 中永久启用。您必须升级到一个禁用的 AMQ Streams 版本,然后使用 Cluster Operator 配置中的 STRIMZI_FEATURE_GATES 环境变量启用。
禁用 ControlPlaneListener 功能门
env:
- name: STRIMZI_FEATURE_GATES
value: -ControlPlaneListener
启用 ControlPlaneListener 功能门
env:
- name: STRIMZI_FEATURE_GATES
value: +ControlPlaneListener