升级

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.85.0.16, 6.0.22, 7.2.16v4.1, v4.2
v4.1.75.0.16, 6.0.22, 7.2.15v4.1, v4.2
v4.1.65.0.15, 6.0.21, 7.2.14v4.1, v4.2
v4.1.35.0.15, 6.0.21, 7.2.13v4.1, v4.2
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 软件包管理工具将插件上架到目标集群。有关详细说明,请参阅 Upload Packages 文档。
  3. 升级遵循 Subscription 中配置的策略:
    • Automatic Upgrade:插件上架后会自动升级。

    • Manual Upgrade:

      CLI
      Web Console
      # Check for available upgrades
      $ kubectl -n redis-system get subscriptions.operators.coreos.com redis-operator -o go-template='{{ printf "Installed: %s\n  Current: %s" .status.installedCSV .status.currentCSV }}'
      
      # If an upgrade is available, find the corresponding InstallPlan for the Subscription
      $ kubectl -n redis-system get subscriptions.operators.coreos.com redis-operator -o jsonpath='{.status.installplan.name}'
      
      # Approve the InstallPlan to proceed with the upgrade
      $ kubectl -n redis-system patch --type='json' -p='[{"op":"replace","path":"/spec/approved","value":true}]'

      有关插件升级的更多详细说明,请参阅 Operator 文档。

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