From 7ce43f159f41e67e96fde16729416be1dc37a836 Mon Sep 17 00:00:00 2001 From: Kaitlyn Michael Date: Thu, 29 May 2025 14:57:11 -0500 Subject: [PATCH 1/4] helm upgrade changes --- content/operate/kubernetes/deployment/helm.md | 37 ++++++++++++++++++- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/content/operate/kubernetes/deployment/helm.md b/content/operate/kubernetes/deployment/helm.md index 5c6665dd7f..dec47ef67e 100644 --- a/content/operate/kubernetes/deployment/helm.md +++ b/content/operate/kubernetes/deployment/helm.md @@ -99,6 +99,39 @@ helm install redis/redis-enterprise-operator \ --values ``` +## Upgrade the chart + +To upgrade an existing Helm chart installation: + +```sh +helm upgrade +``` + +For example, to upgrade a chart with the release name `my-redis-enterprise` from the chart's root directory: + +```sh +helm upgrade my-redis-enterprise . +``` + +You can also upgrade using the Redis Helm repository: + +```sh +helm upgrade redis/redis-enterprise-operator --version +``` + +To upgrade the chart on **OpenShift**, include the `openshift.mode=true` parameter: + +```sh +helm upgrade \ + --set openshift.mode=true +``` + +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. + +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/). + +For more information and options when upgrading charts, see [helm upgrade](https://helm.sh/docs/helm/helm_upgrade/). + ## Uninstall 1. Delete any custom resources managed by the operator. See [Delete custom resources]({{}}) for detailed steps. You must delete custom resources in the correct order to avoid errors. @@ -115,7 +148,7 @@ This removes all Kubernetes resources associated with the chart and deletes the ## Known limitations -- Only new installations of the Redis operator are supported at this time. The steps for [creating the RedisEnterpriseCluster (REC)]({{}}) and other custom resources remain the same. -- Upgrades and migrations are not supported. +- The steps for [creating the RedisEnterpriseCluster (REC)]({{}}) and other custom resources remain the same. +- Migrations are not supported. - The chart doesn't include configuration options for multiple namespaces, rack-awareness, and Vault integration. The steps for configuring these options remain the same. - The chart has had limited testing in advanced setups, including Active-Active configurations, air-gapped deployments, and IPv6/dual-stack environments. \ No newline at end of file From 1156f4e55817e8d9d6879edb109366eda9bbe7d3 Mon Sep 17 00:00:00 2001 From: Kaitlyn Michael Date: Thu, 29 May 2025 15:35:06 -0500 Subject: [PATCH 2/4] add helm info to upgrade pages --- content/operate/kubernetes/upgrade/_index.md | 2 ++ .../kubernetes/upgrade/openshift-cli.md | 26 +++++++++++++++-- .../operate/kubernetes/upgrade/upgrade-olm.md | 24 ++++++++++++++- .../upgrade/upgrade-redis-cluster.md | 29 ++++++++++++++++++- 4 files changed, 77 insertions(+), 4 deletions(-) diff --git a/content/operate/kubernetes/upgrade/_index.md b/content/operate/kubernetes/upgrade/_index.md index 4af84dc9df..11122f7c28 100644 --- a/content/operate/kubernetes/upgrade/_index.md +++ b/content/operate/kubernetes/upgrade/_index.md @@ -17,6 +17,8 @@ The upgrade process includes updating three components: 2. Upgrade the Redis Enterprise cluster (REC) 3. Upgrade Redis Enterprise databases (REDB) +If you installed using Helm charts, see [Upgrade the chart]({{}}) for Helm-specific upgrade instructions. + If you are using OpenShift, see [Upgrade Redis Enterprise with OpenShift CLI]({{}}) or [Upgrade Redis Enterprise with OpenShift OperatorHub]({{}}). For all other Kubernetes distributions, see [Upgrade Redis Enterprise for Kubernetes]({{}}). diff --git a/content/operate/kubernetes/upgrade/openshift-cli.md b/content/operate/kubernetes/upgrade/openshift-cli.md index cd2a2f6519..749b30279d 100644 --- a/content/operate/kubernetes/upgrade/openshift-cli.md +++ b/content/operate/kubernetes/upgrade/openshift-cli.md @@ -1,5 +1,5 @@ --- -Title: Upgrade Redis Enterprise with OpenShift CLI +Title: Upgrade Redis Enterprise with OpenShift CLI alwaysopen: false categories: - docs @@ -57,6 +57,28 @@ See [Upgrade modules]({{ redis/redis-enterprise-operator --version \ + --set openshift.mode=true +``` + +For example: + +```sh +helm upgrade my-redis-enterprise redis/redis-enterprise-operator --version 7.8.2-2 \ + --set openshift.mode=true +``` + +After the Helm upgrade completes, continue with [upgrading the Redis Enterprise cluster](#upgrade-the-redis-enterprise-cluster) and [upgrading databases](#upgrade-databases). + +For detailed Helm upgrade instructions, see [Upgrade the chart]({{}}). + ## Upgrade the operator ### Download the bundle @@ -194,7 +216,7 @@ oc rollout status sts ### Upgrade databases -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). +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). To upgrade your REAADB, see [Upgrade an Active-Active database]({{}}) for details on the `rladmin` and `crdb-cli` commands required. Reach out to Redis support if you have additional questions. diff --git a/content/operate/kubernetes/upgrade/upgrade-olm.md b/content/operate/kubernetes/upgrade/upgrade-olm.md index 81c5b63dc0..e3958d6673 100644 --- a/content/operate/kubernetes/upgrade/upgrade-olm.md +++ b/content/operate/kubernetes/upgrade/upgrade-olm.md @@ -57,6 +57,28 @@ See [Upgrade modules]({{ redis/redis-enterprise-operator --version \ + --set openshift.mode=true +``` + +For example: + +```sh +helm upgrade my-redis-enterprise redis/redis-enterprise-operator --version 7.8.2-2 \ + --set openshift.mode=true +``` + +After the Helm upgrade completes, continue with [upgrading the Redis Enterprise cluster](#upgrade-the-redis-enterprise-cluster) and [upgrading databases](#upgrade-databases). + +For detailed Helm upgrade instructions, see [Upgrade the chart]({{}}). + ## Upgrade the Redis Enterprise operator 1. Select the **Redis Enterprise Operator** from the **Operators**>**Installed Operators** page. @@ -139,7 +161,7 @@ oc rollout status sts ## Upgrade databases -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). +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). To upgrade your REAADB, see [Upgrade an Active-Active database]({{}}) for details on the `rladmin` and `crdb-cli` commands required. Reach out to Redis support if you have additional questions. diff --git a/content/operate/kubernetes/upgrade/upgrade-redis-cluster.md b/content/operate/kubernetes/upgrade/upgrade-redis-cluster.md index 5f41175c5c..746daeea68 100644 --- a/content/operate/kubernetes/upgrade/upgrade-redis-cluster.md +++ b/content/operate/kubernetes/upgrade/upgrade-redis-cluster.md @@ -57,6 +57,33 @@ See [Upgrade modules]({{ redis/redis-enterprise-operator --version +``` + +For example: + +```sh +helm upgrade my-redis-enterprise redis/redis-enterprise-operator --version 7.8.2-2 +``` + +For OpenShift installations, include the `openshift.mode=true` parameter: + +```sh +helm upgrade redis/redis-enterprise-operator --version \ + --set openshift.mode=true +``` + +After the Helm upgrade completes, continue with [upgrading the Redis Enterprise cluster (REC)](#upgrade-the-redis-enterprise-cluster-rec) and [upgrading databases](#upgrade-databases). + +For detailed Helm upgrade instructions, see [Upgrade the chart]({{}}). + ## Upgrade the operator ### Download the bundle @@ -189,7 +216,7 @@ kubectl rollout status sts ### Upgrade databases -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). +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). To upgrade your REAADB, see [Upgrade an Active-Active database]({{}}) for details on the `rladmin` and `crdb-cli` commands required. Reach out to Redis support if you have additional questions. From f584c624054b2c12208ce1824a1ba2d79205bce6 Mon Sep 17 00:00:00 2001 From: Kaitlyn Michael Date: Thu, 5 Jun 2025 14:25:51 -0500 Subject: [PATCH 3/4] add migration section --- content/operate/kubernetes/deployment/helm.md | 45 ++++++++++++++----- 1 file changed, 33 insertions(+), 12 deletions(-) diff --git a/content/operate/kubernetes/deployment/helm.md b/content/operate/kubernetes/deployment/helm.md index dec47ef67e..961ef6406f 100644 --- a/content/operate/kubernetes/deployment/helm.md +++ b/content/operate/kubernetes/deployment/helm.md @@ -12,8 +12,6 @@ weight: 11 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/). -{{}} 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)]({{}}) and other custom resources remain the same.{{}} - ## Prerequisites - A [supported distribution]({{< relref "/operate/kubernetes/reference/supported_k8s_distributions" >}}) of Kubernetes. @@ -35,14 +33,14 @@ The steps below use the following placeholders to indicate command line paramete 1. Add the Redis repository. -```sh -helm repo add https://helm.redis.io/ -``` + ```sh + helm repo add https://helm.redis.io/ + ``` 2. Install the Helm chart into a new namespace. ```sh -helm install redis/redis-enterprise-operator \ +helm install /redis-enterprise-operator \ --version \ --namespace \ --create-namespace @@ -70,12 +68,12 @@ To monitor the installation add the `--debug` flag. The installation runs severa ### Specify values during install -1. View configurable values with `helm show values /`. +1. View configurable values with `helm show values /redis-enterprise-operator`. 2. Install the Helm chart, overriding specific value defaults using `--set`. ```sh -helm install redis/redis-enterprise-operator \ +helm install /redis-enterprise-operator \ --version \ --namespace \ --create-namespace @@ -85,20 +83,44 @@ helm install redis/redis-enterprise-operator \ ### Install with values file -1. View configurable values with `helm show values /`. +1. View configurable values with `helm show values /redis-enterprise-operator`. 2. Create a YAML file to specify the values you want to configure. 3. Install the chart with the `--values` option. ```sh -helm install redis/redis-enterprise-operator \ +helm install /redis-enterprise-operator \ --version \ --namespace \ --create-namespace \ --values ``` +## Migrate from a non-Helm installation + +To migrate an existing non-Helm installation of the Redis Enterprise operator to a Helm-based installation: + +1. [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. + +2. [Install](#install) the Helm chart adding the `--take-ownership` flag: + + ```sh + helm install --take-ownership + ``` + + - The `--take-ownership` flag is available with Helm versions 3.18 or later. + - This flag is only needed for the first installation of the chart. Subsequent upgrades don't require this flag. + - Use the `helm install` command, not `helm upgrade`. + +3. Delete the old `ValidatingWebhookConfiguration` object from the previous non-Helm installation: + + ```sh + kubectl delete validatingwebhookconfiguration redis-enterprise-admission + ``` + + 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-`. 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. + ## Upgrade the chart To upgrade an existing Helm chart installation: @@ -116,7 +138,7 @@ helm upgrade my-redis-enterprise . You can also upgrade using the Redis Helm repository: ```sh -helm upgrade redis/redis-enterprise-operator --version +helm upgrade /redis-enterprise-operator --version ``` To upgrade the chart on **OpenShift**, include the `openshift.mode=true` parameter: @@ -149,6 +171,5 @@ This removes all Kubernetes resources associated with the chart and deletes the ## Known limitations - The steps for [creating the RedisEnterpriseCluster (REC)]({{}}) and other custom resources remain the same. -- Migrations are not supported. - The chart doesn't include configuration options for multiple namespaces, rack-awareness, and Vault integration. The steps for configuring these options remain the same. - The chart has had limited testing in advanced setups, including Active-Active configurations, air-gapped deployments, and IPv6/dual-stack environments. \ No newline at end of file From 721d7061b9cc9bc900ddd3d9915b587861cf4dd3 Mon Sep 17 00:00:00 2001 From: Kaitlyn Michael Date: Thu, 5 Jun 2025 14:27:08 -0500 Subject: [PATCH 4/4] update prereq --- content/operate/kubernetes/deployment/helm.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/content/operate/kubernetes/deployment/helm.md b/content/operate/kubernetes/deployment/helm.md index 961ef6406f..d42744c1ee 100644 --- a/content/operate/kubernetes/deployment/helm.md +++ b/content/operate/kubernetes/deployment/helm.md @@ -17,7 +17,8 @@ Helm charts provide a simple way to install the Redis Enterprise for Kubernetes - A [supported distribution]({{< relref "/operate/kubernetes/reference/supported_k8s_distributions" >}}) of Kubernetes. - At least three worker nodes. - [Kubernetes client (kubectl)](https://kubernetes.io/docs/tasks/tools/). -- [Helm 3.10 or later](https://helm.sh/docs/intro/install/). +- [Helm 3.10 or later](https://helm.sh/docs/intro/install/) + or 3.18 for migrating from a non-Helm installation. ### Example values