第 23 章 升级 AMQ Streams
将 AMQ Streams 安装升级到 2.6 版本,并从新功能、性能改进和增强的安全选项中受益。在升级过程中,Kafka 也更新至最新支持的版本,为 AMQ Streams 部署引入了额外的功能和程序错误修复。
如果您在新版本时遇到问题,AMQ Streams 可以 降级到 之前的版本。
发布的 AMQ Streams 版本可在 AMQ Streams 软件下载页面 中找到。
在不停机的情况下升级
对于配置了高可用性(至少 3 个和平均分布式分区)的主题,升级过程不应给消费者和生产者造成任何停机时间。
升级会触发滚动更新,其中代理会在进程的不同阶段重启一个。在这个时间内,整个集群可用性会临时减少,这可能会在代理失败时增加消息丢失的风险。
23.1. AMQ Streams 升级路径 复制链接链接已复制到粘贴板!
AMQ Streams 有两个升级路径。
- 增量升级
- 增量升级涉及将 AMQ Streams 从以前的次版本升级到 2.6。
- 多版本升级
- 多版本升级涉及在单一升级过程中将旧版本的 AMQ Streams 升级到 2.6,跳过一个或多个中间版本。例如,可以从 AMQ Streams 2.3 直接升级到 AMQ Streams 2.6。
23.1.1. 升级时支持 Kafka 版本 复制链接链接已复制到粘贴板!
在升级 AMQ Streams 时,务必要确保与正在使用的 Kafka 版本兼容。
即使支持的 Kafka 版本在旧版本和新版本之间有所不同,也可以进行多版本升级。但是,如果您试图升级到不支持当前 Kafka 版本的新 AMQ Streams 版本,则会生成一个错误,表示 Kafka 版本不被支持。在这种情况下,您必须通过将 Kafka 自定义资源中的 spec.kafka.version 改为新 AMQ Streams 版本的支持版本,将 Kafka 版本升级为 AMQ Streams 升级的一部分。
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功能门)。 -
在禁用了
ControlPlaneListener功能门的情况下,升级到 AMQ Streams 2.0 或 2.2 (ControlPlaneListener功能门被默认启用)。
-
升级到 AMQ Streams 1.8 (默认禁用
-
启用
ControlPlaneListener功能门。 - 按照标准序列 升级到 AMQ Streams 2.6。
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
env:
- name: STRIMZI_FEATURE_GATES
value: -ControlPlaneListener
启用 ControlPlaneListener 功能门
env:
- name: STRIMZI_FEATURE_GATES
value: +ControlPlaneListener
env:
- name: STRIMZI_FEATURE_GATES
value: +ControlPlaneListener