Skip to content

Commit 8a3ab20

Browse files
Merge pull request #737 from jasonnovichRunAI:v2.17
Merge pull request #721 from ozRunAI/v2.16
2 parents 0c0913d + 9223d07 commit 8a3ab20

File tree

5 files changed

+111
-43
lines changed

5 files changed

+111
-43
lines changed

docs/admin/runai-setup/self-hosted/k8s/preparations.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ Follow the prerequisites as explained in [Self-Hosted installation over Kubernet
2323
```
2424

2525
=== "Airgapped"
26-
You should receive a single file `runai-air-gapped-<version>.tar.gz` from Run:ai customer support
26+
You should receive a single file `runai-air-gapped-<VERSION>.tar.gz` from Run:ai customer support
2727

2828
SSH into a node with `kubectl` access to the cluster and `Docker` installed.
2929

@@ -60,7 +60,7 @@ Follow the prerequisites as explained in [Self-Hosted installation over Kubernet
6060

6161
To access the organization's docker registry it is required to set the registry's credentials (imagePullSecret)
6262

63-
Create the secret named `runai-reg-creds` based on your existing credentials. For more information, see [Allowing pods to reference images from other secured registries](https://docs.openshift.com/container-platform/latest/openshift_images/managing_images/using-image-pull-secrets.html#images-allow-pods-to-reference-images-from-secure-registries_using-image-pull-secrets){target=_blank}.
63+
Create the secret named `runai-reg-creds` based on your existing credentials. For more information, see [Pull an Image from a Private Registry](https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/){target=_blank}.
6464

6565
## Configure your environment
6666

docs/admin/runai-setup/self-hosted/k8s/prerequisites.md

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,6 @@ As part of the installation process you will install:
1111

1212
Both the control plane and clusters require Kubernetes. Typically the control plane and first cluster are installed on the same Kubernetes cluster but this is not a must.
1313

14-
!!! Important
15-
In OpenShift environments, adding a cluster connecting to a __remote__ control plane currently requires the assistance of customer support.
16-
1714
## Installer machine
1815

1916
The machine running the installation script (typically the Kubernetes master) must have:
@@ -24,7 +21,7 @@ The machine running the installation script (typically the Kubernetes master) mu
2421

2522
### Helm
2623

27-
Run:ai requires [Helm](https://helm.sh/){target=_blank} 3.10 or later. To install Helm, see [Installing Helm](https://helm.sh/docs/intro/install/){target=_blank}. If you are installing an air-gapped version of Run:ai, The Run:ai tar file contains the helm binary.
24+
Run:ai requires [Helm](https://helm.sh/){target=_blank} 3.14 or later. To install Helm, see [Installing Helm](https://helm.sh/docs/intro/install/){target=_blank}. If you are installing an air-gapped version of Run:ai, The Run:ai tar file contains the helm binary.
2825

2926
## Cluster hardware requirements
3027

docs/admin/runai-setup/self-hosted/k8s/upgrade.md

Lines changed: 60 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -8,29 +8,35 @@ title: Upgrade self-hosted Kubernetes installation
88
Run:ai data is stored in Kubernetes persistent volumes (PVs). Prior to Run:ai 2.12, PVs are owned by the Run:ai installation. Thus, uninstalling the `runai-backend` helm chart may delete all of your data.
99

1010
From version 2.12 forward, PVs are owned the customer and are independent of the Run:ai installation. As such, they are subject to storage class [reclaim](https://kubernetes.io/docs/concepts/storage/storage-classes/#reclaim-policy){target=_blank} policy.
11+
1112
## Preparations
1213

13-
=== "Connected"
14-
No preparation required.
14+
### Helm
15+
Run:ai requires [Helm](https://helm.sh/){target=_blank} 3.14 or later.
16+
Before you continue, validate your installed helm client version.
17+
To install or upgrade Helm, see [Installing Helm](https://helm.sh/docs/intro/install/){target=_blank}.
18+
If you are installing an air-gapped version of Run:ai, The Run:ai tar file contains the helm binary.
1519

16-
=== "Airgapped"
17-
* Ask for a tar file `runai-air-gapped-<new-version>.tar` 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.
18-
* Upload the images as described [here](preparations.md#runai-software-files).
20+
### Software files
1921

22+
=== "Connected"
2023

21-
## Upgrade Control Plane
24+
Run the helm command below:
2225

23-
### Upgrade from Version 2.9, 2.13, 2.15 or 2.16
26+
``` bash
27+
helm repo add runai-backend https://runai.jfrog.io/artifactory/cp-charts-prod
28+
helm repo update
29+
```
2430

25-
Before upgrading the control plane, run:
31+
=== "Airgapped"
32+
* 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.
33+
* Upload the images as described [here](preparations.md#runai-software-files).
2634

27-
``` bash
28-
POSTGRES_PV=$(kubectl get pvc pvc-postgresql -n runai-backend -o jsonpath='{.spec.volumeName}')
29-
THANOS_PV=$(kubectl get pvc pvc-thanos-receive -n runai-backend -o jsonpath='{.spec.volumeName}')
30-
kubectl patch pv $POSTGRES_PV $THANOS_PV -p '{"spec":{"persistentVolumeReclaimPolicy":"Retain"}}'
31-
```
35+
## Before upgrade
3236

33-
### Upgrade from Version 2.7 or 2.8
37+
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.
38+
39+
### Upgrade from version 2.7 or 2.8
3440

3541
Before upgrading the control plane, run:
3642

@@ -55,11 +61,12 @@ Next, install NGINX as described [here](../../cluster-setup/cluster-prerequisite
5561

5662
Then create a TLS secret and upgrade the control plane as described in the [control plane installation](backend.md). Before upgrading, find customizations and merge them as discussed below.
5763

58-
### Upgrade from version 2.9, 2.10, 2.11
64+
65+
### Upgrade from version 2.9, 2.10 , or 2.11
5966

6067
Two significant changes to the control-plane installation have happened with version 2.12: _PVC ownership_ and _installation customization_.
6168

62-
#### PVC Ownership
69+
#### PVC ownership
6370

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

@@ -70,7 +77,7 @@ The storage class, as per [Kubernetes standards](https://kubernetes.io/docs/conc
7077

7178
To remove the ownership in an older installation, run:
7279

73-
```
80+
``` bash
7481
kubectl patch pvc -n runai-backend pvc-thanos-receive -p '{"metadata": {"annotations":{"helm.sh/resource-policy": "keep"}}}'
7582
kubectl patch pvc -n runai-backend pvc-postgresql -p '{"metadata": {"annotations":{"helm.sh/resource-policy": "keep"}}}'
7683
```
@@ -79,31 +86,59 @@ kubectl patch pvc -n runai-backend pvc-postgresql -p '{"metadata": {"annotation
7986

8087
Delete the ingress object which will be recreated by the control plane upgrade
8188

82-
```
89+
``` bash
8390
kubectl delete ing -n runai-backend runai-backend-ingress
8491
```
85-
#### Installation Customization
92+
#### Installation customization
8693

8794
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:
8895

8996
* 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.
9097
* Search for the customizations you found in the [optional configurations](./backend.md#optional-additional-configurations) table and add them in the new format.
9198

92-
### Upgrade Control Plane
9399

100+
## Upgrade Control Plane
101+
102+
### Upgrade from version 2.13, or later
103+
104+
=== "Connected"
105+
106+
``` bash
107+
helm get values runai-backend -n runai-backend > runai_control_plane_values.yaml
108+
helm upgrade runai-backend -n runai-backend runai-backend/control-plane -f runai_control_plane_values.yaml --reset-then-reuse-values
109+
```
110+
=== "Airgapped"
111+
112+
``` bash
113+
helm get values runai-backend -n runai-backend > runai_control_plane_values.yaml
114+
helm upgrade runai-backend control-plane-<NEW-VERSION>.tgz -n runai-backend -f runai_control_plane_values.yaml --reset-then-reuse-values
115+
```
116+
117+
### Upgrade from version 2.7, 2.8, 2.9, or 2.11
118+
94119
* Create a `tls secret` as described in the [control plane installation](backend.md).
95120
* Upgrade the control plane as described in the [control plane installation](backend.md). During the upgrade, you must tell the installation __not__ to create the two PVCs:
96121

97-
```
98-
helm upgrade -i runai-backend -n runai-backend runai-backend/control-plane \
122+
=== "Connected"
123+
124+
``` bash
125+
helm upgrade -i runai-backend -n runai-backend runai-backend/control-plane \
99126
--set global.domain=<DOMAIN> \
100127
--set postgresql.primary.persistence.existingClaim=pvc-postgresql \
101128
--set thanos.receive.persistence.existingClaim=pvc-thanos-receive
102-
```
129+
```
103130

104-
!!! Note
105-
The helm repository name has changed from `runai-backend/runai-backend` to `runai-backend/control-plane`.
131+
!!! Note
132+
The helm repository name has changed from `runai-backend/runai-backend` to `runai-backend/control-plane`.
133+
134+
=== "Airgapped"
106135

136+
``` bash
137+
helm upgrade -i runai-backend control-plane-<NEW-VERSION>.tgz -n runai-backend \
138+
--set global.domain=<DOMAIN> \
139+
--set postgresql.primary.persistence.existingClaim=pvc-postgresql \
140+
--set thanos.receive.persistence.existingClaim=pvc-thanos-receive
141+
```
107142

108143
## Upgrade Cluster
109144

docs/admin/runai-setup/self-hosted/ocp/prerequisites.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ The machine running the installation script (typically the Kubernetes master) mu
2323

2424
### Helm
2525

26-
Run:ai requires [Helm](https://helm.sh/){target=_blank} 3.10 or later. To install Helm, see [Installing Helm](https://helm.sh/docs/intro/install/){target=_blank}. If you are installing an air-gapped version of Run:ai, The Run:ai tar file contains the helm binary.
26+
Run:ai requires [Helm](https://helm.sh/){target=_blank} 3.14 or later. To install Helm, see [Installing Helm](https://helm.sh/docs/intro/install/){target=_blank}. If you are installing an air-gapped version of Run:ai, The Run:ai tar file contains the helm binary.
2727

2828
## Cluster hardware requirements
2929

docs/admin/runai-setup/self-hosted/ocp/upgrade.md

Lines changed: 47 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,39 @@ title: Upgrade self-hosted OpenShift installation
33
---
44
# Upgrade Run:ai
55

6+
7+
!!! Important
8+
Run:ai data is stored in Kubernetes persistent volumes (PVs). Prior to Run:ai 2.12, PVs are owned by the Run:ai installation. Thus, uninstalling the `runai-backend` helm chart may delete all of your data.
9+
10+
From version 2.12 forward, PVs are owned the customer and are independent of the Run:ai installation. As such, they are subject to storage class [reclaim](https://kubernetes.io/docs/concepts/storage/storage-classes/#reclaim-policy){target=_blank} policy.
11+
612
## Preparations
713

14+
### Helm
15+
Run:ai requires [Helm](https://helm.sh/){target=_blank} 3.14 or later.
16+
Before you continue, validate your installed helm client version.
17+
To install or upgrade Helm, see [Installing Helm](https://helm.sh/docs/intro/install/){target=_blank}.
18+
If you are installing an air-gapped version of Run:ai, The Run:ai tar file contains the helm binary.
19+
20+
### Software files
21+
822
=== "Connected"
9-
No preparation required.
23+
Run the helm command below:
24+
25+
``` bash
26+
helm repo add runai-backend https://runai.jfrog.io/artifactory/cp-charts-prod
27+
helm repo update
28+
```
1029

1130
=== "Airgapped"
12-
* Ask for a tar file `runai-air-gapped-<new-version>.tar` 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.
31+
* 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.
1332
* Upload the images as described [here](preparations.md#runai-software-files).
1433

15-
## Upgrade Control Plane
34+
## Before upgrade
1635

17-
### Upgrade from Version 2.7 or 2.8.
36+
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.
37+
38+
### Upgrade from version 2.7 or 2.8
1839

1940
Before upgrading the control plane, run:
2041

@@ -28,10 +49,10 @@ kubectl delete sts -n runai-backend keycloak runai-backend-postgresql
2849

2950
Then upgrade the control plane as described [below](#upgrade-the-control-plane). Before upgrading, find customizations and merge them as discussed below.
3051

31-
### Upgrade from Version 2.9, 2.10 or 2.11
52+
### Upgrade from version 2.9, 2.10 or 2.11
3253

3354
Two significant changes to the control-plane installation have happened with version 2.12: _PVC ownership_ and _installation customization_.
34-
#### PVC Ownership
55+
#### PVC ownership
3556

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

@@ -46,20 +67,35 @@ To remove the ownership in an older installation, run:
4667
kubectl patch pvc -n runai-backend pvc-postgresql -p '{"metadata": {"annotations":{"helm.sh/resource-policy": "keep"}}}'
4768
```
4869

49-
#### Installation Customization
70+
#### Installation customization
5071

5172
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:
5273

5374
* 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.
5475
* Search for the customizations you found in the [optional configurations](./backend.md#optional-additional-configurations) table and add them in the new format.
5576

5677

78+
## Upgrade Control Plane
5779

58-
Then upgrade the control plane as described [below](#upgrade-the-control-plane).
80+
### Upgrade from version 2.13, or later
5981

60-
### Upgrade Control Plane
82+
=== "Connected"
83+
84+
``` bash
85+
helm get values runai-backend -n runai-backend > runai_control_plane_values.yaml
86+
helm upgrade runai-backend -n runai-backend runai-backend/control-plane -f runai_control_plane_values.yaml --reset-then-reuse-values
87+
```
88+
=== "Airgapped"
89+
90+
``` bash
91+
helm get values runai-backend -n runai-backend > runai_control_plane_values.yaml
92+
helm upgrade runai-backend control-plane-<NEW-VERSION>.tgz -n runai-backend -f runai_control_plane_values.yaml --reset-then-reuse-values
93+
```
94+
95+
### Upgrade from version 2.7, 2.8, 2.9, or 2.11
6196

6297
=== "Connected"
98+
6399
``` bash
64100
helm upgrade -i runai-backend -n runai-backend runai-backend/control-plane \
65101
--set global.domain=runai.apps.<OPENSHIFT-CLUSTER-DOMAIN> \ #(1)
@@ -76,9 +112,9 @@ Then upgrade the control plane as described [below](#upgrade-the-control-plane).
76112

77113

78114
=== "Airgapped"
79-
``` bash
80115

81-
helm upgrade -i runai-backend ./runai-backend-<version>.tgz -n runai-backend \
116+
``` bash
117+
helm upgrade -i runai-backend ./control-plane-<NEW-VERSION>.tgz -n runai-backend \
82118
--set global.domain=runai.apps.<OPENSHIFT-CLUSTER-DOMAIN> \ #(1)
83119
--set global.config.kubernetesDistribution=openshift \
84120
--set thanos.query.stores={thanos-grpc-port-forwarder:10901} \

0 commit comments

Comments
 (0)