Upgrade Workload Clusters

After completing the upgrade of the global cluster, you can proceed to upgrade the workload clusters. The workload cluster upgrade process is similar to that of the global cluster but requires attention to the following considerations:

  • If your platform uses the global disaster recovery (DR) solution, you must complete the upgrade of both the primary and standby global clusters before upgrading any workload clusters.
  • All PostgreSQL instances will be automatically restarted during the upgrade.
  • For MySQL-PXC, MySQL-MGR, Redis, Kafka, and RabbitMQ instances configured with an automatic update strategy, the upgrade process includes a restart, which may lead to temporary service disruption.
  • A maximum of 20 workload clusters can be upgraded concurrently.

TOC

Upgrade a workload cluster

WARNING
  1. If you want to upgrade the Operators and Cluster Plugins together with the workload cluster upgrade, you must perform the Create only CRs from all packages in a directory and use the --clusters parameter to specify the name of the workload cluster to be upgraded.

    Make sure to specify the correct cluster name. An incorrect value may cause upgrade failures in the specified cluster.

    After the command is executed, wait approximately 10–15 minutes until the upgrade available icon appears in the Functional Components tab of the cluster.

  2. If you are upgrading from 3.18 or 4.0 and the directory contains the Build of TopoLVM package, you must remove it before running the Create only CRs from all packages in a directory step. After completing that step, create the CRs for TopoLVM separately, and make sure to include the --target-catalog-source "platform" parameter.

  3. When using violet push on a standby global cluster, you must specify the --dest-repo parameter with the VIP of the standby cluster.

    For more information, see Upload Packages in a Global DR Environment.

  4. If you are upgrading from 3.16 or 3.18 and the platform has Data Services installed, you must also upgrade the related extensions when upgrading the clusters.

    For more information, see Upgrade Data Services.

(Conditional) Remove TopoLVM

If you are upgrading from 3.18 and the Build of TopoLVM is installed, you must back up and delete the related TopoLVM resources before proceeding with the upgrade.

Otherwise, the cluster upgrade will fail.

Run the following commands on any control plane node of the cluster to be upgraded:

kubectl get artifactversion -n cpaas-system  $(kubectl get artifactversion -n cpaas-system -l cpaas.io/artifact-version=operatorhub-topolvm-operator --no-headers | grep 4.1 | head -1 | awk '{print $1}') -o yaml > topolvm-artifact.yaml
kubectl delete -f topolvm-artifact.yaml

Then, run the following command on any control plane node of the global cluster:

# Replace cluster_name with the name of the cluster to be upgraded
kubectl delete minfo $(kubectl get minfo | grep topolvm-migrate-catalog-updater | grep $cluster_name | awk '{print $1}')

Upgrade the workload cluster

  1. Log into the Web Console and switch to the Administrator view.
  2. Navigate to Clusters > Clusters.
  3. Select the workload cluster you want to upgrade and open its detail page.
  4. Go to the Functional Components tab.
  5. Click the Upgrade button.

If the upgrade program detects any custom configuration overrides, you will be prompted to confirm these settings. If you are unsure whether these overridden configurations may impact the upgrade, please contact technical support for assistance.

Once confirmed, a component upgrade dialog will appear. Review the available updates and proceed with the upgrade.

INFO

Upgrading the Kubernetes version is optional. However, since service disruptions may still occur during other component updates, we recommend including the Kubernetes upgrade to minimize future maintenance windows.

(Conditional) Upgrade TopoLVM

If you are upgrading from 3.18 and the Build of TopoLVM is installed, and you have already completed the Remove TopoLVM step.

On a control plane node of the cluster to be upgraded, continue by running the following command to upgrade TopoLVM:

kubectl create -f topolvm-artifact.yaml

After running the command, wait approximately 5–10 minutes. The TopoLVM component will be automatically upgraded and reflected in the web console.

Post-upgrade