补丁版本升级

Redis 补丁版本升级提供安全修复和稳定性改进。升级过程采用滚动更新策略,依次重启 pod,以确保操作期间服务的可用性。建议在维护窗口期间有策略地安排升级,以将对生产工作负载的影响降至最低。

当补丁版本可用时,建议及时采用,以确保您的 Redis 实例能够受益于最新的安全补丁和功能增强。

配置升级策略

您可以通过配置升级策略来定义补丁升级如何应用于您的 Redis 实例。

操作步骤

CLI
Web Console
# 为特定实例设置升级策略
$ kubectl -n <namespace> patch redis <instance-name> --type='json' -p='[{"op":"replace","path":"/spec/upgradeOption/autoUpgrade","value":"<true|false>"}]'

执行单个实例升级

单个实例升级提供对升级过程的细粒度控制,允许在将更改部署到整个环境之前进行针对性验证。

前提条件

  • 实例列表中通过升级图标显示有可用的补丁版本升级
  • 实例状态必须为 Running,方可启动升级

操作步骤

CLI
Web Console
# 查询可用的最新补丁版本
$ kubectl get imageversion -l middleware.instance/type=redis,middleware.instance/latest -o jsonpath='{.items[*].spec.crVersion}'

# 查询特定实例当前的补丁版本
$ kubectl -n <namespace> get redis <instance-name> -o jsonpath='{.status.upgradeStatus.crVersion}'

# 如果当前版本低于最新版本,则执行升级
$ kubectl -n <namespace> patch redis <instance-name> --type='json' -p='[{"op":"replace","path":"/spec/upgradeOption/crVersion","value": "<new-patch-version>"}]'

执行批量升级操作

批量升级功能支持高效管理多个 Redis 实例的升级,简化大规模部署的维护流程。

前提条件

  • 具备平台管理员权限
  • 目标实例处于 Running 状态

操作步骤

CLI
Web Console
# 查询可用的最新补丁版本
$ kubectl get imageversion -l middleware.instance/type=redis,middleware.instance/latest -o jsonpath='{.items[*].spec.crVersion}'

# 对多个实例执行批量升级
$ kubectl -n <namespace> patch redis --all --type='json' -p='[{"op":"replace","path":"/spec/upgradeOption/crVersion","value": "<new-patch-version>"}]'