Skip to content

Upgrade Run:ai

Preparations

Helm

Run:ai requires Helm 3.14 or later. Before you continue, validate your installed helm client version. To install or upgrade Helm, see Installing Helm. If you are installing an air-gapped version of Run:ai, The Run:ai tar file contains the helm binary.

Software files

Run the helm command below:

helm repo add runai-backend https://runai.jfrog.io/artifactory/cp-charts-prod
helm repo update
  • Ask for a tar file runai-air-gapped-<NEW-VERSION>.tar.gz from Run:ai customer support. The file contains the new version you want to upgrade to. <NEW-VERSION> is the updated version of the Run:ai control plane.
  • Upload the images as described here.

Before upgrade

Before proceeding with the upgrade, it's crucial to apply the specific prerequisites associated with your current version of Run:ai and every version in between up to the version you are upgrading to.

Upgrade from version 2.9

Two significant changes to the control-plane installation have happened with version 2.12: PVC ownership and installation customization.

PVC ownership

Run:ai no longer directly creates the PVCs that store Run:ai data (metrics and database). Instead, going forward,

  • Run:ai requires a Kubernetes storage class to be installed.
  • The PVCs are created by the Kubernetes StatefulSets.

The storage class, as per Kubernetes standards, controls the reclaim behavior: whether the data is saved or deleted when the Run:ai control plane is deleted.

To remove the ownership in an older installation, run:

kubectl patch pvc -n runai-backend pvc-postgresql  -p '{"metadata": {"annotations":{"helm.sh/resource-policy": "keep"}}}'

Installation customization

The Run:ai control-plane installation has been rewritten and is no longer using a backend values file. Instead, to customize the installation use standard --set flags. If you have previously customized the installation, you must now extract these customizations and add them as --set flag to the helm installation:

  • Find previous customizations to the control plane if such exist. Run:ai provides a utility for that here https://raw.githubusercontent.com/run-ai/docs/v2.13/install/backend/cp-helm-vals-diff.sh. For information on how to use this utility please contact Run:ai customer support.
  • Search for the customizations you found in the optional configurations table and add them in the new format.

Upgrade Control Plane

Note

To upgrade to a specific version, modify the --version flag by specifying the desired . You can find all available versions by using the helm search repo runai-backend/control-plane --versions command.

Upgrade from version 2.16

You must perform a two-step upgrade:

  • Upgrade to version 2.18:
helm get values runai-backend -n runai-backend > runai_control_plane_values.yaml
helm upgrade runai-backend -n runai-backend runai-backend/control-plane --version "2.18.0" -f runai_control_plane_values.yaml --reset-then-reuse-values
helm get values runai-backend -n runai-backend > runai_control_plane_values.yaml
helm upgrade runai-backend control-plane-2.18.0.tgz -n runai-backend -f runai_control_plane_values.yaml --reset-then-reuse-values
  • Then upgrade to the required version:
helm get values runai-backend -n runai-backend > runai_control_plane_values.yaml
helm upgrade runai-backend -n runai-backend runai-backend/control-plane --version "<VERSION>" -f runai_control_plane_values.yaml --reset-then-reuse-values

``` bash helm get values runai-backend -n runai-backend > runai_control_plane_values.yaml helm upgrade runai-backend control-plane-.tgz -n runai-backend -f runai_control_plane_values.yaml --reset-then-reuse-values

Upgrade from version 2.17 or later

If your current version is 2.17 or higher, you can upgrade directly to the required version:

helm get values runai-backend -n runai-backend > runai_control_plane_values.yaml
helm upgrade runai-backend -n runai-backend runai-backend/control-plane --version "<VERSION>" -f runai_control_plane_values.yaml --reset-then-reuse-values
helm get values runai-backend -n runai-backend > runai_control_plane_values.yaml
helm upgrade runai-backend control-plane-<NEW-VERSION>.tgz -n runai-backend -f runai_control_plane_values.yaml --reset-then-reuse-values

Upgrade from version 2.9

helm upgrade -i runai-backend -n runai-backend runai-backend/control-plane --version "~2.19.0" \
--set global.domain=runai.apps.<OPENSHIFT-CLUSTER-DOMAIN> \ #(1)
--set global.config.kubernetesDistribution=openshift \
--set thanos.query.stores={thanos-grpc-port-forwarder:10901} \
--set postgresql.primary.persistence.existingClaim=pvc-postgresql
  1. The subdomain configured for the OpenShift cluster.

Note

The helm repository name has changed from runai-backend/runai-backend to runai-backend/control-plane.

helm upgrade -i runai-backend  ./control-plane-<NEW-VERSION>.tgz -n runai-backend \
--set global.domain=runai.apps.<OPENSHIFT-CLUSTER-DOMAIN> \ #(1)
--set global.config.kubernetesDistribution=openshift \
--set thanos.query.stores={thanos-grpc-port-forwarder:10901} \
--set postgresql.primary.persistence.existingClaim=pvc-postgresql
  1. The subdomain configured for the OpenShift cluster.

Upgrade Cluster

To upgrade the cluster follow the instructions here.