You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/operate/kubernetes/deployment/helm.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -149,6 +149,10 @@ The upgrade process automatically updates the operator and its components, inclu
149
149
150
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
151
152
+
{{< note >}}
153
+
If your databases use user-defined modules (custom non-bundled modules), you must take additional steps during the upgrade process. See [Upgrade with user-defined modules]({{< relref "/operate/kubernetes/upgrade/upgrade-redis-cluster#user-defined-modules" >}}) for details.
154
+
{{< /note >}}
155
+
152
156
For more information and options when upgrading charts, see [helm upgrade](https://helm.sh/docs/helm/helm_upgrade/).
Copy file name to clipboardExpand all lines: content/operate/kubernetes/deployment/quick-start.md
+6Lines changed: 6 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -263,6 +263,12 @@ The operator bundle includes a webhook file. The webhook will intercept requests
263
263
Error from server: error when creating "STDIN": admission webhook "redisenterprise.admission.redislabs" denied the request: eviction_policy: u'illegal' is not one of [u'volatile-lru', u'volatile-ttl', u'volatile-random', u'allkeys-lru', u'allkeys-random', u'noeviction', u'volatile-lfu', u'allkeys-lfu']
264
264
```
265
265
266
+
## Add user-defined modules (optional)
267
+
268
+
If you plan to create databases that use user-defined modules (custom non-bundled modules), you must add them to the REC custom resource before creating the databases.
269
+
270
+
See [User-defined modules]({{< relref "/operate/kubernetes/re-databases/modules#user-defined-modules">}}) for detailed instructions on adding and configuring custom modules.
271
+
266
272
## Create a Redis Enterprise Database (REDB)
267
273
268
274
You can create multiple databases within the same namespace as your REC or in other namespaces.
Copy file name to clipboardExpand all lines: content/operate/kubernetes/re-clusters/cluster-recovery.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -24,6 +24,10 @@ The Redis Enterprise for Kubernetes automates these recovery steps:
24
24
25
25
{{<warning>}}Redis Enterprise for Kubernetes 7.2.4-2 introduces a new limitation. You cannot recover or upgrade your cluster if there are databases with old module versions or manually uploaded modules. See the [Redis Enterprise Software 7.2.4 known limitations]({{< relref "/operate/rs/release-notes/rs-7-2-4-releases/rs-7-2-4-52#cluster-recovery-with-manually-uploaded-modules" >}}) for more details.{{</warning>}}
26
26
27
+
{{< note >}}
28
+
If your cluster uses user-defined modules, the recovery process doesn't block on module validation errors (such as URL or credential issues). The cluster can recover successfully, and you can resolve any module configuration issues after recovery is complete. See [User-defined modules]({{< relref "/operate/kubernetes/re-databases/modules#user-defined-modules" >}}) for more information.
29
+
{{< /note >}}
30
+
27
31
## Prerequisites
28
32
29
33
- For cluster recovery, the cluster must be [deployed with persistence]({{< relref "/operate/kubernetes/recommendations/persistent-volumes" >}}).
Copy file name to clipboardExpand all lines: content/operate/kubernetes/upgrade/openshift-cli.md
+34-2Lines changed: 34 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -35,6 +35,16 @@ Your Redis Enterprise clusters must be running version 7.4.2-2 or later before u
35
35
36
36
Your Redis databases must be running version 7.2 or later before upgrading your cluster version. See [upgrade databases](#upgrade-databases) for detailed steps. You can find your database version in the [REDB `spec.redisVersion` field]({{<relref "/operate/kubernetes/reference/api/redis_enterprise_database_api#redisversion" >}}).
37
37
38
+
#### User-defined modules
39
+
40
+
If your databases use user-defined modules (custom non-bundled modules):
41
+
42
+
- Set `autoUpgradeRedisEnterprise: false` in the REC custom resource before upgrading the operator.
43
+
- Define the user-defined modules in the REC custom resource before upgrading the database.
44
+
- See [Edit `redisEnterpriseImageSpec`](#edit-redisenterpriseimagespec) for more details.
45
+
46
+
For more information about user-defined modules, see [User-defined modules]({{< relref "/operate/kubernetes/re-databases/modules#user-defined-modules" >}}).
47
+
38
48
#### RHEL9-compatible modules
39
49
40
50
Upgrading to Redis operator versions 7.8.2-6 and later involves migrating your Redis Enterprise nodes to RHEL9 from either Ubuntu 18 or RHEL8. If your databases use modules, you need to manually install modules compatible with RHEL9.
@@ -81,6 +91,8 @@ For detailed Helm upgrade instructions, see [Upgrade the chart]({{<relref "/oper
81
91
82
92
## Upgrade the operator
83
93
94
+
{{<warning>}}If your databases use user-defined modules, set `autoUpgradeRedisEnterprise: false` in the REC custom resource before upgrading the operator.{{</warning>}}
95
+
84
96
### Download the bundle
85
97
86
98
Make sure you pull the correct version of the bundle. You can find the version tags
@@ -188,6 +200,24 @@ After the operator upgrade is complete, you can upgrade Redis Enterprise cluster
188
200
versionTag: <new-version-tag>
189
201
```
190
202
203
+
1. Define any user-defined modules used by databases in the cluster.
The `name` field must match the `display_name` or `module_name` that appears in the module manifest (for example, "redisgears"). This enables the operator to run validation on the user-defined module. If these names don't match, the operator can't run validation on the user-defined module and preventable errors may occur.
216
+
217
+
{{< note >}}
218
+
Adding or modifying the `userDefinedModules` list triggers a rolling restart of the Redis Enterprise cluster pods in addition to the rolling upgrade for the version change.
219
+
{{< /note >}}
220
+
191
221
1. Save the changes to apply.
192
222
193
223
### Reapply roles and role bindings
@@ -224,6 +254,10 @@ For Active-Active databases, the `redis.Version` change only needs to be applied
224
254
225
255
If your REAADB uses supported modules, keep the existing `moduleList` version numbers unchanged when upgrading `redisVersion`. The database will automatically use the module versions that are bundled with the new Redis version, regardless of what versions are specified in `moduleList`. After the upgrade is complete, you can optionally change the old version numbers from `moduleList`, but this change has no functional impact.
226
256
257
+
#### Upgrade with user-defined modules
258
+
259
+
If a user-defined module is used by any database in the cluster, the module must be defined in the REC custom resource before upgrading the database. See [Add user-defined modules to the REC]({{< relref "/operate/kubernetes/re-databases/modules#add-user-defined-modules-to-the-rec" >}}) for detailed instructions.
260
+
227
261
#### General upgrade notes
228
262
229
263
Note that if your cluster [`redisUpgradePolicy`]({{<relref "/operate/kubernetes/reference/api/redis_enterprise_cluster_api#redisupgradepolicy" >}}) or your database [`redisVersion`]({{< relref "/operate/kubernetes/reference/api/redis_enterprise_database_api#redisversion" >}}) are set to `major`, you won't be able to upgrade those databases to minor versions. See [Redis upgrade policy]({{< relref "/operate/rs/installing-upgrading/upgrading#redis-upgrade-policy">}}) for more details.
Copy file name to clipboardExpand all lines: content/operate/kubernetes/upgrade/upgrade-olm.md
+24-14Lines changed: 24 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -35,23 +35,15 @@ Your Redis Enterprise clusters must be running version 7.4.2-2 or later before u
35
35
36
36
Your Redis databases must be running version 7.2 or later before upgrading your cluster version. See [upgrade databases](#upgrade-databases) for detailed steps. You can find your database version in the [REDB `spec.redisVersion` field]({{<relref "/operate/kubernetes/reference/api/redis_enterprise_database_api#redisversion" >}}).
37
37
38
-
#### RHEL9-compatible modules
38
+
###User-defined modules
39
39
40
-
Upgrading to Redis operator version 7.8.2-6 or later involves migrating your Redis Enterprise nodes to RHEL9 from either Ubuntu 18 or RHEL8. If your databases use modules, you need to manually install modules compatible with RHEL9.
40
+
If your databases use user-defined modules (custom non-bundled modules):
41
41
42
-
To see which modules you have installed, run:
42
+
- Set `autoUpgradeRedisEnterprise: false` in the REC custom resource before upgrading the operator.
43
+
- Define the user-defined modules in the REC custom resource before upgrading the database.
44
+
- See [Edit `redisEnterpriseImageSpec`](#edit-redisenterpriseimagespec) for more details.
See [Upgrade modules]({{<relref "/operate/oss_and_stack/stack-with-enterprise/install/upgrade-module">}}) for details on how to upgrade modules with the `rladmin` tool.
46
+
For more information about user-defined modules, see [User-defined modules]({{< relref "/operate/kubernetes/re-databases/modules#user-defined-modules" >}}).
55
47
56
48
### Valid license
57
49
@@ -111,6 +103,24 @@ After the operator upgrade is complete, you can upgrade Redis Enterprise cluster
111
103
versionTag: <new-version-tag>
112
104
```
113
105
106
+
1. Define any user-defined modules used by databases in the cluster.
The `name` field must match the `display_name` or `module_name` that appears in the module manifest (for example, "redisgears"). This enables the operator to run validation on the user-defined module. If these names don't match, the operator can't run validation on the user-defined module and preventable errors may occur.
119
+
120
+
{{< note >}}
121
+
Adding or modifying the `userDefinedModules` list triggers a rolling restart of the Redis Enterprise cluster pods in addition to the rolling upgrade for the version change.
Copy file name to clipboardExpand all lines: content/operate/kubernetes/upgrade/upgrade-redis-cluster.md
+63-21Lines changed: 63 additions & 21 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -35,23 +35,15 @@ Check the [Redis Enterprise for Kubernetes release notes]({{<relref "/operate/ku
35
35
36
36
Check the release notes for your target version to determine the minimum Redis database version required. See [upgrade databases](#upgrade-databases) for detailed steps. You can find your database version in the [REDB `spec.redisVersion` field]({{<relref "/operate/kubernetes/reference/api/redis_enterprise_database_api#redisversion" >}}).
37
37
38
-
### Module compatibility
38
+
### User-defined modules
39
39
40
-
Some Redis Enterprise operator versions may require specific module versions or involve changes to the underlying operating system. If your databases use modules, check the release notes for your target version to determine if you need to manually install updated modules.
40
+
If your databases use user-defined modules (custom non-bundled modules):
41
41
42
-
To see which modules you have installed, run:
42
+
- Set `autoUpgradeRedisEnterprise: false` in the REC custom resource before upgrading the operator.
43
+
- Define the user-defined modules in the REC custom resource before upgrading the database.
44
+
- See [Edit `redisEnterpriseImageSpec`](#edit-redisenterpriseimagespec-in-the-rec-spec) for more details.
See [Upgrade modules]({{<relref "/operate/oss_and_stack/stack-with-enterprise/install/upgrade-module">}}) for details on how to upgrade modules with the `rladmin` tool.
46
+
For more information about user-defined modules, see [User-defined modules]({{< relref "/operate/kubernetes/re-databases/modules#user-defined-modules" >}}).
55
47
56
48
### Valid license
57
49
@@ -86,6 +78,8 @@ For detailed Helm upgrade instructions, see [Upgrade the chart]({{<relref "/oper
86
78
87
79
## Upgrade the operator
88
80
81
+
{{<warning>}}If your databases use user-defined modules, set `autoUpgradeRedisEnterprise: false` in the REC custom resource before upgrading the operator.{{</warning>}}
82
+
89
83
### Download the bundle
90
84
91
85
Make sure you pull the correct version of the bundle. You can find the version tags
@@ -164,11 +158,9 @@ Before beginning the upgrade of the Redis Enterprise cluster, check the [Redis E
164
158
165
159
After the operator upgrade is complete, you can upgrade Redis Enterprise cluster (REC).
166
160
167
-
### Upgrade an REC with an Active-Active database
168
-
169
-
We recommend upgrading all participating clusters to the same operator version.
170
-
171
-
If you are upgrading from a preview version of the Active-Active controller, you can remove the following environment variables: `ACTIVE_ACTIVE_DATABASE_CONTROLLER_ENABLED`, `REMOTE_CLUSTER_CONTROLLER_ENABLED`, and `ENABLE_ALPHA_FEATURES`.
161
+
{{<note>}}
162
+
For Active-Active databases, we recommend upgrading all participating clusters to the same operator version.
163
+
{{</note>}}
172
164
173
165
### Edit `redisEnterpriseImageSpec` in the REC spec
174
166
@@ -188,6 +180,24 @@ If you are upgrading from a preview version of the Active-Active controller, you
188
180
versionTag: <new-version-tag>
189
181
```
190
182
183
+
1. Define any user-defined modules used by databases in the cluster.
The `name` field must match the `display_name` or `module_name` that appears in the module manifest (for example, "redisgears"). This enables the operator to run validation on the user-defined module. If these names don't match, the operator can't run validation on the user-defined module and preventable errors may occur.
196
+
197
+
{{< note >}}
198
+
Adding or modifying the `userDefinedModules` list triggers a rolling restart of the Redis Enterprise cluster pods in addition to the rolling upgrade for the version change.
199
+
{{< /note >}}
200
+
191
201
1. Save the changes to apply.
192
202
193
203
### Reapply roles and role bindings
@@ -214,24 +224,56 @@ To see the status of the current rolling upgrade, run:
214
224
kubectl rollout status sts <REC_name>
215
225
```
216
226
217
-
### Upgrade databases
227
+
## Upgrade databases
218
228
219
229
After the cluster is upgraded, you can upgrade your databases.
220
230
231
+
### Upgrade REDB
232
+
221
233
To upgrade your REDB, specify your new database version in the `spec.redisVersion` field in the REDB or REAADB custom resources. Supported database versions for operator versions include "7.2", "7.4", "8.0", and "8.2" (note this value is a string).
222
234
235
+
### Upgrade REAADB
236
+
223
237
For Active-Active databases, the `redis.Version` change only needs to be applied on one participating cluster and will automatically propagate to all other participating clusters. All participating clusters must be running operator version 8.0.2-2 or later.
224
238
225
239
If your REAADB uses supported modules, keep the existing `moduleList` version numbers unchanged when upgrading `redisVersion`. The database will automatically use the module versions that are bundled with the new Redis version, regardless of what versions are specified in `moduleList`. After the upgrade is complete, you can optionally change the old version numbers from `moduleList`, but this change has no functional impact.
226
240
227
-
#### General upgrade notes
241
+
### Upgrade with user-defined modules
242
+
243
+
If a user-defined module is used by any database in the cluster, the module must be defined in the REC custom resource before upgrading the database. See [Add user-defined modules to the REC]({{< relref "/operate/kubernetes/re-databases/modules#add-user-defined-modules-to-the-rec" >}}) for detailed instructions.
244
+
245
+
### Upgrade policy
228
246
229
247
Note that if your cluster [`redisUpgradePolicy`]({{<relref "/operate/kubernetes/reference/api/redis_enterprise_cluster_api#redisupgradepolicy" >}}) or your database [`redisVersion`]({{< relref "/operate/kubernetes/reference/api/redis_enterprise_database_api#redisversion" >}}) are set to `major`, you won't be able to upgrade those databases to minor versions. See [Redis upgrade policy]({{< relref "/operate/rs/installing-upgrading/upgrading#redis-upgrade-policy">}}) for more details.
230
248
231
249
## Troubleshooting
232
250
233
251
If you start an upgrade without meeting the [prerequisites](#prerequisites), the operator will freeze the upgrade. Check the operator logs for the source of the error. The REDB reconsilliation doesn't work during an upgrade, so you need to apply a manual fix with the Redis Software API (examples below). The updates will also need to be added to the REDB custom resource.
234
252
253
+
### User-defined modules
254
+
255
+
If your databases use user-defined modules and you encounter upgrade issues:
256
+
257
+
1. **Verify `autoUpgradeRedisEnterprise` is set to `false`**: Check the REC spec to ensure automatic upgrades are disabled.
258
+
259
+
```sh
260
+
kubectl get rec <cluster-name> -o jsonpath='{.spec.autoUpgradeRedisEnterprise}'
261
+
```
262
+
263
+
1. **Verify modules are defined in the REC**: Ensure all user-defined modules are listed in the REC `userDefinedModules` section before upgrading.
264
+
265
+
```sh
266
+
kubectl get rec <cluster-name> -o jsonpath='{.spec.userDefinedModules}'| jq
267
+
```
268
+
269
+
1. **Check module validation errors**: Review the REC status for module validation errors.
270
+
271
+
```sh
272
+
kubectl describe rec <cluster-name>
273
+
```
274
+
275
+
For more information about user-defined modules, see [User-defined modules]({{< relref "/operate/kubernetes/re-databases/modules#user-defined-modules">}}).
276
+
235
277
### Invalid module version
236
278
237
279
If the operator logs show an event related to an unsupported module, download the updated module locally, and install it using the `v2/modules` API endpoint.
0 commit comments