Install Redis Enterprise Helm chart
Install Redis Enterprise for Kubernetes version 7.8.6 using Helm charts.
| Redis Enterprise for Kubernetes |
|---|
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/.
Prerequisites
- A supported distribution of Kubernetes.
- At least three worker nodes.
- Kubernetes client (kubectl).
- Helm 3.10 or later or 3.18 for migrating from a non-Helm installation.
If you suspect your file descriptor limits are below 100,000, you must either manually increase limits or Allow automatic 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.
Example values
The steps below use the following placeholders to indicate command line parameters you must provide:
<repo-name>is the name of the repo holding your Helm chart (example:redis).<release-name>is the name you give a specific installation of the Helm chart (example:my-redis-enterprise-operator)<chart-version>is the version of the Helm chart you are installing (example:7.8.6-2). Verify that the version you specify is listed in the Redis Helm repository. Using an invalid version number causes installation failures.<namespace-name>is the name of the new namespace the Redis operator will run in (example:ns1)<path-to-chart>is the filepath to the Helm chart, if it is stored in a local directory (example:/home/charts/redis-enterprise-operator)
Install the operator
Below are several ways to install the operator using Helm. To create the REC in the same step, see Create the REC at install time.
- Install from the Redis Helm repository
- Install from local directory
- Specify values during install
- Install with values file
Install from the Redis Helm repository
-
Add the Redis repository.
helm repo add <repo-name> https://helm.redis.io -
Install the Helm chart into a new namespace.
helm install <release-name> <repo-name>/redis-enterprise-operator \
--version <chart-version> \
--namespace <namespace-name> \
--create-namespace
To install with Openshift, add --set openshift.mode=true.
To monitor the installation add the --debug flag. The installation runs several jobs synchronously and may take a few minutes to complete.
Install from local directory
-
Find the latest release on the redis-enterprise-k8s-docs repo and download the
tar.gzsource code into a local directory. -
Install the Helm chart from your local directory.
helm install <release-name> <path-to-chart> \
--namespace <namespace-name> \
--create-namespace
To install with Openshift, add --set openshift.mode=true.
To monitor the installation add the --debug flag. The installation runs several jobs synchronously and may take a few minutes to complete.
Specify values during install
-
View configurable values with
helm show values <repo-name>/redis-enterprise-operator. -
Install the Helm chart, overriding specific value defaults using
--set.
helm install <release-name> <repo-name>/redis-enterprise-operator \
--version <chart-version> \
--namespace <namespace-name> \
--create-namespace
--set <key1>=<value1> \
--set <key2>=<value2>
Install with values file
-
View configurable values with
helm show values <repo-name>/redis-enterprise-operator. -
Create a YAML file to specify the values you want to configure.
-
Install the chart with the
--valuesoption.
helm install <release-name> <repo-name>/redis-enterprise-operator \
--version <chart-version> \
--namespace <namespace-name> \
--create-namespace \
--values <path-to-values-file>
Create the REC at install time
The chart can create the RedisEnterpriseCluster (REC) custom resource at install time, so a single helm install deploys both the operator and the cluster. To enable this, set cluster.create to true and define the cluster under cluster.spec in your values file. The spec field accepts any field from the RedisEnterpriseCluster CRD. For the full list, see the RedisEnterpriseCluster API reference.
cluster.create defaults to false. When false, the chart installs only the operator and you create the REC yourself.-
Create a values file with a
clustersection. For example:cluster: create: true spec: nodes: 3 redisEnterpriseImageSpec: repository: redislabs/redis redisEnterpriseServicesRiggerImageSpec: repository: redislabs/k8s-controller bootstrapperImageSpec: repository: redislabs/operator -
Install the chart with the values file.
helm install <release-name> <repo-name>/redis-enterprise-operator \ --version <chart-version> \ --namespace <namespace-name> \ --create-namespace \ --values <path-to-values-file>The chart runs a Kubernetes Job to create the REC. The Job deletes itself on success.
-
Confirm the operator deployment is running.
kubectl get deployment redis-enterprise-operator --namespace <namespace-name> -
Wait for the REC to reach the
Runningstate. Initialization takes about a minute.kubectl get rec --namespace <namespace-name>
To update or uninstall an REC created by the chart, see Update an REC created by the chart and Uninstall the REC and operator together.
Upgrade the chart
To upgrade an existing Helm chart installation:
helm upgrade <release-name> <repo-name>/redis-enterprise-operator --version <chart-version>
You can also upgrade from a local directory:
helm upgrade <release-name> <path-to-chart>
For example, to upgrade a chart with the release name my-redis-enterprise from the chart's root directory:
helm upgrade my-redis-enterprise .
To upgrade with OpenShift, add --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.
For more information and options when upgrading charts, see helm upgrade.
Update an REC created by the chart
If you used cluster.create: true, change REC settings by editing cluster.spec in your values file and running helm upgrade.
-
Update your values file. For example, to add labels:
cluster: create: true spec: nodes: 3 redisEnterpriseImageSpec: repository: redislabs/redis redisEnterpriseServicesRiggerImageSpec: repository: redislabs/k8s-controller bootstrapperImageSpec: repository: redislabs/operator extraLabels: environment: production -
Apply the changes.
helm upgrade <release-name> <repo-name>/redis-enterprise-operator \ --namespace <namespace-name> \ --values <path-to-values-file>Some REC fields trigger a StatefulSet rolling update. Others, such as
extraLabels, take effect immediately. -
Confirm the change.
kubectl get rec <rec-name> --namespace <namespace-name> -o yaml
Uninstall
-
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.
-
Uninstall the Helm chart.
helm uninstall <release-name>
This removes all Kubernetes resources associated with the chart and deletes the release.
kubectl delete crds -l app=redis-enterprise.Uninstall the REC and operator together
When cluster.create is true, helm uninstall removes both the REC and the operator. You don't need to delete the REC first.
helm uninstall <release-name> --namespace <namespace-name>
Confirm all resources are gone.
kubectl get all --namespace <namespace-name>
helm uninstall.Migrate from a non-Helm installation
To migrate an existing non-Helm installation of the Redis Enterprise operator to a Helm-based installation:
-
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.
-
Install the Helm chart adding the
--take-ownershipflag:helm install <release-name> <repo-name>/redis-enterprise-operator --take-ownership- The
--take-ownershipflag 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 installcommand, nothelm upgrade.
- The
-
Delete the old
ValidatingWebhookConfigurationobject from the previous non-Helm installation:kubectl delete validatingwebhookconfiguration redis-enterprise-admissionThis step is only needed when the
admission.limitToNamespacechart value is set totrue(the default). In this case, the webhook object installed by the chart is namedredis-enterprise-admission-<namespace>, and the original webhook object, namedredis-enterprise-admission, becomes redundant. Ifadmission.limitToNamespaceis set tofalse, the webhook installed by the chart is namedredis-enterprise-admission, and the existing webhook object is reused.
Known limitations
- Custom resources other than the REC must still be created using the standard process. The chart doesn't manage them.
- 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.