升级

NOTE

本文档提供了 Alauda Streaming Service for Kafka 的升级路径原则和受支持的版本兼容性。

兼容性矩阵

下表列出了 Alauda Streaming Service for Kafka 及其关键组件的受支持版本:

Alauda Kafka VersionKafka VersionsMode SupportKubernetes Versions
v4.2.x4.1.2KRaft1.27+
v4.1.x3.8.1, 2.8.2 (with plugin)ZooKeeper & KRaft1.25+
v4.0.x3.8.1, 2.8.2 (with plugin)ZooKeeper & KRaft1.25+
重要说明
  • v4.2.x 仅支持 KRaft 模式:ZooKeeper 模式已被完全移除。所有实例在升级到 v4.2.x 之前必须已运行在 KRaft 模式下。
  • 迁移要求:如果你有运行在 ZooKeeper 模式下的实例,必须先使用 v4.1.x operator 将其迁移到 KRaft 模式,然后才能升级到 v4.2.x。
  • Kafka 2 插件不再受支持:v4.2.x 不支持 Alauda 版本的 Kafka 2 插件或 Kafka 2.x 实例。
  • 不可逆:一旦迁移到 KRaft 模式,就不支持回滚到 ZooKeeper 模式。

前提条件

在开始升级之前,请确保满足以下条件:

  1. 版本兼容性:当前版本位于受支持的升级路径内。
  2. 组件健康状况:Kafka 实例处于 Ready 状态。
  3. 资源可用性:集群具有足够的资源来支持升级过程。
  4. KRaft 模式验证:验证所有 rdskafka 实例的 spec.mode 都设置为 KRaft
    • 你可以使用以下命令检查所有 Kafka 实例的模式:
      kubectl get rdskafka -A -o custom-columns="NAME:.metadata.name,NAMESPACE:.metadata.namespace,MODE:.spec.mode,PHASE:.status.phase"
    • 如果任何实例不是 KRaft 模式,则必须在升级到 v4.2.x 之前,使用 v4.1.x operator 将其迁移到 KRaft 模式。
    • v4.2.x operator 不支持 ZooKeeper 模式,也不会处理从 ZooKeeper 到 KRaft 的迁移。
    • 可参考从 ZooKeeper 模式迁移到 KRaft 模式的迁移方案(迁移到 KRaft)。

关于版本相关变更、新功能和弃用内容,请参阅 📝 Release Notes

升级路径指南

连续升级(推荐)

  • 说明:按连续的次要版本逐步升级。
  • 示例4.1.x → 4.2.x

补丁级升级

  • 说明:同一次要版本内任意补丁版本之间的升级完全兼容,可直接执行。
  • 示例4.1.0 → 4.1.x

Kafka 版本对齐

  • 说明:确保 Kafka 版本升级遵循 operator 的兼容性矩阵。
  • 示例
    • Alauda Streaming Service for Kafka 4.2.x 支持 Kafka 4.1.2
    • Alauda Streaming Service for Kafka 4.1.x 支持 Kafka 3.8.1 或 Kafka 2.8.2(with plugin)。

v4.2.x 升级特别说明

  • KRaft 模式要求:升级到 v4.2.x 之前,所有实例都必须处于 KRaft 模式。
  • 移除 Kafka 2 插件:v4.2.x 不支持 Kafka 2.x 实例以及 Alauda 版本的 Kafka 2 插件。
  • 迁移路径:如果你有运行在 ZooKeeper 模式下的实例:
    1. 保持使用 v4.1.x operator
    2. 使用迁移操作步骤将所有实例迁移到 KRaft 模式
    3. 验证所有实例均已在 KRaft 模式下成功运行
    4. 将 operator 升级到 v4.2.x
  • 不可回滚到 ZooKeeper:一旦迁移到 KRaft 模式,就不支持回滚到 ZooKeeper 模式。

升级策略

Alauda Streaming Service for Kafka 将根据配置的升级策略执行升级:

  • 自动:在检测到新组件版本后立即触发自动升级。
  • 手动:在开始升级过程之前需要手动批准。