升级

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 VersionRedis Server VersionsACP Version
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 可应用最新的 bug 修复和安全补丁。

大版本升级

  • 要求:首先需要升级到目标大版本中最早可用的小版本。
  • 操作步骤:请查阅对应大版本升级文档以获取详细说明。
  • 注意事项:大版本升级可能需要修改配置,并对功能兼容性进行全面审查。

升级步骤

  1. 从 AlaudaCloud 下载目标版本的 Alauda Cache Service for Redis OSS 插件到可访问您的 ACP 集群的节点。
  2. 使用 violet 包管理工具将插件上架到目标集群。详细说明请参阅 上架软件包 文档。
  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 实例本身,请参阅 Instance Upgrade Guide