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, Ingress and installation customization.
PVC ownership¶
Run:ai will no longer directly create 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-thanos-receive -p '{"metadata": {"annotations":{"helm.sh/resource-policy": "keep"}}}'
kubectl patch pvc -n runai-backend pvc-postgresql -p '{"metadata": {"annotations":{"helm.sh/resource-policy": "keep"}}}'
Ingress¶
Delete the ingress object which will be recreated by the control plane upgrade
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:
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¶
- Create a
tls secret
as described in the control plane installation. - Upgrade the control plane as described in the control plane installation. During the upgrade, you must tell the installation not to create the two PVCs:
helm upgrade -i runai-backend -n runai-backend runai-backend/control-plane --version "~2.19.0" \
--set global.domain=<DOMAIN> \
--set postgresql.primary.persistence.existingClaim=pvc-postgresql \
--set thanos.receive.persistence.existingClaim=pvc-thanos-receive
Note
The helm repository name has changed from runai-backend/runai-backend
to runai-backend/control-plane
.
Upgrade Cluster¶
To upgrade the cluster follow the instructions here.