Skip to content

Commit 74b0375

Browse files
K8s: helm upgrade changes (#1640)
* helm upgrade changes * add helm info to upgrade pages * add migration section * update prereq * review edits
1 parent f8dee2a commit 74b0375

File tree

5 files changed

+120
-19
lines changed

5 files changed

+120
-19
lines changed

content/operate/kubernetes/deployment/helm.md

Lines changed: 65 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,13 @@ weight: 11
1111
---
1212
Helm charts provide a simple way to install the Redis Enterprise for Kubernetes operator in just a few steps. For more information about Helm, go to [https://helm.sh/docs/](https://helm.sh/docs/).
1313

14-
{{<note>}} This feature is currently in public preview and is not supported on production workloads. Only new installations of the Redis operator are supported at this time. The steps for [creating the RedisEnterpriseCluster (REC)]({{<relref "operate/kubernetes/deployment/quick-start#create-a-redis-enterprise-cluster-rec">}}) and other custom resources remain the same.{{</note>}}
15-
1614
## Prerequisites
1715

1816
- A [supported distribution]({{< relref "/operate/kubernetes/reference/supported_k8s_distributions" >}}) of Kubernetes.
1917
- At least three worker nodes.
2018
- [Kubernetes client (kubectl)](https://kubernetes.io/docs/tasks/tools/).
21-
- [Helm 3.10 or later](https://helm.sh/docs/intro/install/).
19+
- [Helm 3.10 or later](https://helm.sh/docs/intro/install/)
20+
or 3.18 for migrating from a non-Helm installation.
2221

2322
If you suspect your file descriptor limits are below 100,000, you must either manually increase limits or [Allow automatic resource adjustment]({{< relref "/operate/kubernetes/security/allow-resource-adjustment" >}}). Most major cloud providers and standard container runtime configurations set default file descriptor limits well above the minimum required by Redis Enterprise. In these environments, you can safely run without enabling automatic resource adjustment.
2423

@@ -36,14 +35,14 @@ The steps below use the following placeholders to indicate command line paramete
3635

3736
1. Add the Redis repository.
3837

39-
```sh
40-
helm repo add <repo-name> https://helm.redis.io/
41-
```
38+
```sh
39+
helm repo add <repo-name> https://helm.redis.io/
40+
```
4241

4342
2. Install the Helm chart into a new namespace.
4443

4544
```sh
46-
helm install <release-name> redis/redis-enterprise-operator \
45+
helm install <release-name> <repo-name>/redis-enterprise-operator \
4746
--version <chart-version> \
4847
--namespace <namespace-name> \
4948
--create-namespace
@@ -71,13 +70,13 @@ To monitor the installation add the `--debug` flag. The installation runs severa
7170

7271
### Specify values during install
7372

74-
1. View configurable values with `helm show values <repo-name>/<chart-name>`.
73+
1. View configurable values with `helm show values <repo-name>/redis-enterprise-operator`.
7574

7675
2. Install the Helm chart, overriding specific value defaults using `--set`.
7776

7877
```sh
79-
helm install <operator-name> redis/redis-enterprise-operator \
80-
--version <release-name> \
78+
helm install <operator-name> <repo-name>/redis-enterprise-operator \
79+
--version <chart-version> \
8180
--namespace <namespace-name> \
8281
--create-namespace
8382
--set <key1>=<value1> \
@@ -86,20 +85,72 @@ helm install <operator-name> redis/redis-enterprise-operator \
8685

8786
### Install with values file
8887

89-
1. View configurable values with `helm show values <repo-name>/<chart-name>`.
88+
1. View configurable values with `helm show values <repo-name>/redis-enterprise-operator`.
9089

9190
2. Create a YAML file to specify the values you want to configure.
9291

9392
3. Install the chart with the `--values` option.
9493

9594
```sh
96-
helm install <operator-name> redis/redis-enterprise-operator \
97-
--version <release-name> \
95+
helm install <operator-name> <repo-name>/redis-enterprise-operator \
96+
--version <chart-version> \
9897
--namespace <namespace-name> \
9998
--create-namespace \
10099
--values <path-to-values-file>
101100
```
102101

102+
## Migrate from a non-Helm installation
103+
104+
To migrate an existing non-Helm installation of the Redis Enterprise operator to a Helm-based installation:
105+
106+
1. [Upgrade]({{<relref "operate/kubernetes/upgrade">}}) your existing Redis Enterprise operator to match the version of the Helm chart you want to install. Use the same non-Helm method you used for the original installation.
107+
108+
2. [Install](#install) the Helm chart adding the `--take-ownership` flag:
109+
110+
```sh
111+
helm install <release-name> <repo-name>/redis-enterprise-operator --take-ownership
112+
```
113+
114+
- The `--take-ownership` flag is available with Helm versions 3.18 or later.
115+
- This flag is only needed for the first installation of the chart. Subsequent upgrades don't require this flag.
116+
- Use the `helm install` command, not `helm upgrade`.
117+
118+
3. Delete the old `ValidatingWebhookConfiguration` object from the previous non-Helm installation:
119+
120+
```sh
121+
kubectl delete validatingwebhookconfiguration redis-enterprise-admission
122+
```
123+
124+
This step is only needed when the `admission.limitToNamespace` chart value is set to `true` (the default). In this case, the webhook object installed by the chart is named `redis-enterprise-admission-<namespace>`, and the original webhook object, named `redis-enterprise-admission`, becomes redundant. If `admission.limitToNamespace` is set to `false`, the webhook installed by the chart is named `redis-enterprise-admission`, and the existing webhook object is reused.
125+
126+
## Upgrade the chart
127+
128+
To upgrade an existing Helm chart installation:
129+
130+
```sh
131+
helm upgrade <release-name> <repo-name>/redis-enterprise-operator --version <chart-version>
132+
```
133+
134+
You can also upgrade from a local directory:
135+
136+
```sh
137+
helm upgrade <release-name> <path-to-chart>
138+
```
139+
140+
For example, to upgrade a chart with the release name `my-redis-enterprise` from the chart's root directory:
141+
142+
```sh
143+
helm upgrade my-redis-enterprise .
144+
```
145+
146+
To upgrade with OpenShift, add `--set openshift.mode=true`.
147+
148+
The upgrade process automatically updates the operator and its components, including the Custom Resource Definitions (CRDs). The CRDs are versioned and update only if the new version is higher than the existing version.
149+
150+
After you upgrade the operator, you might need to upgrade your Redis Enterprise clusters, depending on the Redis software version bundled with the operator. For detailed information about the upgrade process, see [Redis Enterprise for Kubernetes upgrade documentation](https://redis.io/docs/latest/operate/kubernetes/upgrade/).
151+
152+
For more information and options when upgrading charts, see [helm upgrade](https://helm.sh/docs/helm/helm_upgrade/).
153+
103154
## Uninstall
104155

105156
1. Delete any custom resources managed by the operator. See [Delete custom resources]({{<relref "operate/kubernetes/re-clusters/delete-custom-resources">}}) for detailed steps. You must delete custom resources in the correct order to avoid errors.
@@ -116,7 +167,6 @@ This removes all Kubernetes resources associated with the chart and deletes the
116167

117168
## Known limitations
118169

119-
- Only new installations of the Redis operator are supported at this time. The steps for [creating the RedisEnterpriseCluster (REC)]({{<relref "operate/kubernetes/deployment/quick-start#create-a-redis-enterprise-cluster-rec">}}) and other custom resources remain the same.
120-
- Upgrades and migrations are not supported.
170+
- The steps for [creating the RedisEnterpriseCluster (REC)]({{<relref "operate/kubernetes/deployment/quick-start#create-a-redis-enterprise-cluster-rec">}}) and other custom resources remain the same.
121171
- The chart doesn't include configuration options for multiple namespaces, rack-awareness, and Vault integration. The steps for configuring these options remain the same.
122172
- The chart has had limited testing in advanced setups, including Active-Active configurations, air-gapped deployments, and IPv6/dual-stack environments.

content/operate/kubernetes/upgrade/_index.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ The upgrade process includes updating three components:
1717
2. Upgrade the Redis Enterprise cluster (REC)
1818
3. Upgrade Redis Enterprise databases (REDB)
1919

20+
If you installed using Helm charts, see [Upgrade the chart]({{<relref "/operate/kubernetes/deployment/helm#upgrade-the-chart">}}) for Helm-specific upgrade instructions.
21+
2022
If you are using OpenShift, see [Upgrade Redis Enterprise with OpenShift CLI]({{<relref "/operate/kubernetes/upgrade/openshift-cli">}}) or [Upgrade Redis Enterprise with OpenShift OperatorHub]({{<relref "/operate/kubernetes/upgrade/upgrade-olm">}}).
2123

2224
For all other Kubernetes distributions, see [Upgrade Redis Enterprise for Kubernetes]({{<relref "/operate/kubernetes/upgrade/upgrade-redis-cluster" >}}).

content/operate/kubernetes/upgrade/openshift-cli.md

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
Title: Upgrade Redis Enterprise with OpenShift CLI
2+
Title: Upgrade Redis Enterprise with OpenShift CLI
33
alwaysopen: false
44
categories:
55
- docs
@@ -57,6 +57,28 @@ See [Upgrade modules]({{<relref "/operate/oss_and_stack/stack-with-enterprise/in
5757

5858
Use `kubectl get rec` and verify the `LICENSE STATE` is valid on your REC before you start the upgrade process.
5959

60+
## Upgrade with Helm charts
61+
62+
If you installed the Redis Enterprise operator using Helm charts on OpenShift, you can upgrade using Helm commands. This method automatically handles the operator upgrade and Custom Resource Definition (CRD) updates.
63+
64+
To upgrade using Helm on OpenShift:
65+
66+
```sh
67+
helm upgrade <release-name> <repo-name>/redis-enterprise-operator --version <chart-version> \
68+
--set openshift.mode=true
69+
```
70+
71+
For example:
72+
73+
```sh
74+
helm upgrade my-redis-enterprise <repo-name>/redis-enterprise-operator --version 7.8.2-2 \
75+
--set openshift.mode=true
76+
```
77+
78+
After the Helm upgrade completes, continue with [upgrading the Redis Enterprise cluster](#upgrade-the-redis-enterprise-cluster) and [upgrading databases](#upgrade-databases).
79+
80+
For detailed Helm upgrade instructions, see [Upgrade the chart]({{<relref "/operate/kubernetes/deployment/helm#upgrade-the-chart">}}).
81+
6082
## Upgrade the operator
6183

6284
### Download the bundle
@@ -194,7 +216,7 @@ oc rollout status sts <REC_name>
194216
195217
### Upgrade databases
196218
197-
After the cluster is upgraded, you can upgrade your databases. To upgrade your REDB, specify your new database version in the `spec.redisVersion` field in the REDB custom resources. Supported database versions for operator versions include `"7.2"` and `"7.4"` (note this value is a string).
219+
After the cluster is upgraded, you can upgrade your databases. To upgrade your REDB, specify your new database version in the `spec.redisVersion` field in the REDB custom resources. Supported database versions for operator versions include `"7.2"` and `"7.4"` (note this value is a string).
198220
199221
To upgrade your REAADB, see [Upgrade an Active-Active database]({{<relref "/operate/rs/installing-upgrading/upgrading/upgrade-active-active/">}}) for details on the `rladmin` and `crdb-cli` commands required. Reach out to Redis support if you have additional questions.
200222

content/operate/kubernetes/upgrade/upgrade-olm.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ oc rollout status sts <REC_name>
139139
140140
## Upgrade databases
141141
142-
After the cluster is upgraded, you can upgrade your databases. To upgrade your REDB, specify your new database version in the `spec.redisVersion` field in the REDB custom resources. Supported database versions for operator versions include `"7.2"` and `"7.4"` (note this value is a string).
142+
After the cluster is upgraded, you can upgrade your databases. To upgrade your REDB, specify your new database version in the `spec.redisVersion` field in the REDB custom resources. Supported database versions for operator versions include `"7.2"` and `"7.4"` (note this value is a string).
143143
144144
To upgrade your REAADB, see [Upgrade an Active-Active database]({{<relref "/operate/rs/installing-upgrading/upgrading/upgrade-active-active/">}}) for details on the `rladmin` and `crdb-cli` commands required. Reach out to Redis support if you have additional questions.
145145

content/operate/kubernetes/upgrade/upgrade-redis-cluster.md

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,33 @@ See [Upgrade modules]({{<relref "/operate/oss_and_stack/stack-with-enterprise/in
5757

5858
Use `kubectl get rec` and verify the `LICENSE STATE` is valid on your REC before you start the upgrade process.
5959

60+
## Upgrade with Helm charts
61+
62+
If you installed the Redis Enterprise operator using Helm charts, you can upgrade using Helm commands. This method automatically handles the operator upgrade and Custom Resource Definition (CRD) updates.
63+
64+
To upgrade using Helm:
65+
66+
```sh
67+
helm upgrade <release-name> redis/redis-enterprise-operator --version <chart-version>
68+
```
69+
70+
For example:
71+
72+
```sh
73+
helm upgrade my-redis-enterprise redis/redis-enterprise-operator --version 7.8.2-2
74+
```
75+
76+
For OpenShift installations, include the `openshift.mode=true` parameter:
77+
78+
```sh
79+
helm upgrade <release-name> redis/redis-enterprise-operator --version <chart-version> \
80+
--set openshift.mode=true
81+
```
82+
83+
After the Helm upgrade completes, continue with [upgrading the Redis Enterprise cluster (REC)](#upgrade-the-redis-enterprise-cluster-rec) and [upgrading databases](#upgrade-databases).
84+
85+
For detailed Helm upgrade instructions, see [Upgrade the chart]({{<relref "/operate/kubernetes/deployment/helm#upgrade-the-chart">}}).
86+
6087
## Upgrade the operator
6188

6289
### Download the bundle
@@ -189,7 +216,7 @@ kubectl rollout status sts <REC_name>
189216
190217
### Upgrade databases
191218
192-
After the cluster is upgraded, you can upgrade your databases. To upgrade your REDB, specify your new database version in the `spec.redisVersion` field in the REDB custom resources. Supported database versions for operator versions include `"7.2"` and `"7.4"` (note this value is a string).
219+
After the cluster is upgraded, you can upgrade your databases. To upgrade your REDB, specify your new database version in the `spec.redisVersion` field in the REDB custom resources. Supported database versions for operator versions include `"7.2"` and `"7.4"` (note this value is a string).
193220
194221
To upgrade your REAADB, see [Upgrade an Active-Active database]({{<relref "/operate/rs/installing-upgrading/upgrading/upgrade-active-active/">}}) for details on the `rladmin` and `crdb-cli` commands required. Reach out to Redis support if you have additional questions.
195222

0 commit comments

Comments
 (0)