Upgrade

The Alauda Cache Service for Redis OSS is engineered to provide service continuity and data security across all supported versions. This guide details version compatibility and outlines the recommended upgrade paths to facilitate a seamless transition for your environment.

Upgrade Tips

Prior to upgrading a production environment, it is highly recommended to validate the upgrade process within a development or staging environment. This preliminary step helps identify and mitigate potential compatibility issues, including hardware-related conflicts, before they can affect production services.

TOC

Version Compatibility Principles

The Alauda Cache Service for Redis OSS adheres to semantic versioning principles, providing the following compatibility guarantees:

  • Patch versions (x.y.z) are fully backward and forward compatible within the same minor version series.
  • Minor versions (x.y.z) maintain API and feature compatibility within the same major version.
  • Major versions (x.y.z) may introduce breaking changes that require specific upgrade procedures.

Prerequisites

Before initiating an upgrade, ensure that the following prerequisites are met:

  1. Version Compatibility: The current version must be on a supported upgrade path.
  2. Component Health: All Redis instances must report a Ready status.
  3. Resource Availability: The cluster must possess adequate CPU, memory, and storage resources to accommodate the upgrade.
  4. Backup: Recent backups of all critical data and configurations must be available.

Supported Upgrade Paths

The following matrix outlines the tested version combinations and their respective dependencies:

Alauda Cache Service for Redis OSS VersionRedis Server VersionsACP VersionKubernetes Versions
v4.1.05.0.14, 6.0.20, 7.2.10v4.1.01.29, 1.30, 1.31, 1.32
v4.0.x5.0.14, 6.0.20, 7.2.xv4.0.x1.28, 1.29, 1.30, 1.31

Upgrade Strategies

Minor Version Upgrade

  • Approach: Direct upgrades are supported from any minor version to a newer release within the same major version (e.g., 4.0.x → 4.2.x).
  • Benefits: This approach minimizes operational risk and facilitates a seamless transition between versions.

Patch Version Upgrade

  • Compatibility: Patch versions are fully compatible within the same minor version series.
  • Example: Upgrading from 4.1.0 to 4.1.1 applies the latest bug fixes and security patches.

Major Version Upgrade

  • Requirement: An upgrade to the earliest available minor release of the target major version is required first.
  • Procedure: Consult the specific major version upgrade documentation for detailed instructions.
  • Considerations: Major upgrades may necessitate configuration modifications and a comprehensive review of feature compatibility.

Upgrade Steps

  1. Download the target version of the Alauda Cache Service for Redis OSS plugin from AlaudaCloud to a node that has access to your ACP cluster.
  2. Utilize the violet package management tool to upload the plugin to the target cluster. For detailed instructions, refer to the documentation.
  3. Upgrades follow the strategy configured in the Subscription:
    • Automatic Upgrade: The plugin upgrades automatically upon upload.
    • 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}]'
      For more detailed instructions on upgrading the plugin, refer to the documentation.
  4. To upgrade the Redis instance itself, please refer to the Instance Upgrade Guide.