升级

Alauda Cache Service for Redis OSS 旨在为所有支持的版本提供服务连续性和数据安全保障。本指南详细说明了版本兼容性,并概述了推荐的升级路径,以便您的环境能够顺利过渡。

升级提示

在升级生产环境之前,强烈建议先在开发或预发布环境中验证升级流程。此预备步骤有助于识别并缓解潜在的兼容性问题,包括硬件相关冲突,避免影响生产服务。

版本兼容性原则

Alauda Cache Service for Redis OSS 遵循语义化版本控制原则,提供以下兼容性保证:

  • 补丁版本(x.y.z)在同一小版本系列内完全向前和向后兼容。
  • 小版本(x.y.z)在同一大版本内保持 API 和功能兼容。
  • 大版本x.y.z)可能引入破坏性变更,需要特定的升级操作步骤。

升级前提条件

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

  1. 版本兼容性:当前版本必须处于支持的升级路径上。
  2. 组件健康状态:所有 Redis 实例必须报告 Ready 状态。
  3. 资源可用性:集群必须具备足够的 CPU、内存和存储资源以支持升级。
  4. 备份:必须有所有关键数据和配置的最新备份。

支持的升级路径

下表列出了经过测试的版本组合及其对应依赖关系:

Alauda Cache Service for Redis OSS 版本Redis Server 版本ACP 版本
v4.1.25.0.15, 6.0.21, 7.2.12v4.1, v4.2
v4.1.15.0.15, 6.0.21, 7.2.12v4.1
v4.1.05.0.14, 6.0.20, 7.2.10v4.1
v4.0.x5.0.14, 6.0.20, 7.2.xv4.0

升级策略

小版本升级

  • 方式:支持从任意小版本直接升级到同一大版本内的较新版本(例如,4.0.x → 4.2.x)。
  • 优势:此方式最大限度降低操作风险,促进版本间的平滑过渡。

补丁版本升级

  • 兼容性:补丁版本在同一小版本系列内完全兼容。
  • 示例:从 4.1.0 升级到 4.1.1,应用最新的错误修复和安全补丁。

大版本升级

  • 要求:必须先升级到目标大版本的最早可用小版本。
  • 操作步骤:请参阅具体大版本升级文档获取详细指导。
  • 注意事项:大版本升级可能需要修改配置,并全面检查功能兼容性。

升级操作步骤

  1. 从 AlaudaCloud 下载目标版本的 Alauda Cache Service for Redis OSS 插件至可访问您的 ACP 集群的节点。
  2. 使用 violet 包管理工具将插件上传至目标集群。详细操作请参阅 上架软件包 文档。
  3. 升级遵循 Subscription 中配置的策略:
    • 自动升级:插件上传后自动升级。

    • 手动升级

      CLI
      Web Console
      # 检查是否有可用升级
      $ kubectl -n redis-system get subscriptions.operators.coreos.com redis-operator -o go-template='{{ printf "Installed: %s\n  Current: %s" .status.installedCSV .status.currentCSV }}'
      
      # 如果有升级,查找对应 Subscription 的 InstallPlan
      $ kubectl -n redis-system get subscriptions.operators.coreos.com redis-operator -o jsonpath='{.status.installplan.name}'
      
      # 批准 InstallPlan 以继续升级
      $ kubectl -n redis-system patch --type='json' -p='[{"op":"replace","path":"/spec/approved","value":true}]'

      更多插件升级详细操作请参阅 Operator 文档。

  4. 若需升级 Redis 实例本身,请参阅 实例升级指南