升级

NOTE

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

兼容性矩阵

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

Alauda Kafka 版本Kafka 版本模式支持Kubernetes 版本
v4.3.x4.2.0KRaft1.27+
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 plugin 或 Kafka 2.x 实例。
  • Kafka 4.2.0 需要 Alauda Container Platform Data Services RDS Framework 4.2.2 或更高版本:在将 Kafka 实例滚动升级到 Kafka 4.2.0 之前,请先升级 RDS Framework。
  • 不可逆:一旦迁移到 KRaft 模式,就不再支持回滚到 ZooKeeper 模式。

前提条件

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

  1. 版本兼容性:当前版本处于受支持的升级路径中。
  2. 组件健康状态:Kafka 实例处于 Ready 状态。
  3. 资源可用性:集群具有足够的资源来支持升级过程。
  4. v4.3.x 的 RDS Framework 版本:在将 Kafka 实例升级到 Kafka 4.2.0 之前,请确保 Alauda Container Platform Data Services RDS Framework 版本为 4.2.2 或更高版本。
  5. 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.1.x operator 将其迁移到 KRaft 模式,然后才能升级到 v4.2.x 或更高版本。
    • v4.2.x 及更高版本的 operator 不支持 ZooKeeper 模式,也不会处理从 ZooKeeper 到 KRaft 的迁移。
    • 可参考从 ZooKeeper 模式迁移到 Kraft 模式的方案(迁移到 kraft)。

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

升级路径指南

连续升级(推荐)

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

Patch 级升级

  • 说明:同一 minor 版本内任意 patch 版本之间完全兼容,可直接升级。
  • 示例4.1.0 → 4.1.x

Kafka 版本对齐

  • 说明:确保 Kafka 版本升级符合 operator 的兼容性矩阵。
  • 示例
    • Alauda Streaming Service for Kafka 4.3.x 支持 Kafka 4.2.0
    • 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 plugin。
  • 迁移路径:如果你有处于 ZooKeeper 模式的实例:
    1. 继续使用 v4.1.x operator
    2. 使用迁移操作将所有实例迁移到 KRaft 模式
    3. 验证所有实例都已在 KRaft 模式下成功运行
    4. 将 operator 升级到 v4.2.x 或更高版本
  • 不能回滚到 ZooKeeper:一旦迁移到 KRaft 模式,就不支持回滚到 ZooKeeper 模式。

v4.3.x 升级的特别说明

  • Kafka 运行时升级:v4.3.x 支持 Kafka 4.2.0。应在 operator 处于健康状态且实例升级策略允许的情况下,再升级现有 Kafka 实例。
  • RDS Framework 要求:对 Kafka 4.2.0 的支持依赖于 Alauda Container Platform Data Services RDS Framework 4.2.2 或更高版本。在将 Kafka 实例滚动升级到 4.2.0 之前,请先确认 RDS Framework 版本。
  • 推荐路径:先将版本从 4.2.x 升级到 4.3.x,确认 operator 和实例健康后,再将 Kafka 实例滚动升级到 4.2.0

升级策略

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

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