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:
- 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 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:
- Then upgrade to the required version:
``` bash helm get values runai-backend -n runai-backend > runai_control_plane_values.yaml helm upgrade runai-backend control-plane-
Upgrade from version 2.17 or later¶
If your current version is 2.17 or higher, you can upgrade directly to the required version:
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
- 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
- The subdomain configured for the OpenShift cluster.
Upgrade Cluster¶
To upgrade the cluster follow the instructions here.