Deploy and operate Redis on Kubernetes with one Redis CRD in two modes:
cluster: shard-based Redis Cluster (1 StatefulSetper shard)failover: Redis + Sentinel (2 StatefulSets: redis and sentinel)
- Based on the official Redis Docker image
- One CRD supports both Redis Cluster and Failover topologies
- Uses stable Kubernetes DNS hostnames (StatefulSet/Service), not Pod IP addresses
- Supports TLS with user-provided certificates
- Supports cluster shard scale in/out (one shard per update)
- Supports failover redis scale in/out
- Supports failover external access with NodePort and Sentinel-native discovery
- Supports cluster external access with NodePort and native announce settings
| Component | Compatibility |
|---|---|
| Kubernetes (runtime) | >= 1.25.0 |
| Redis | >= 7 |
Notes:
- This project is pre-GA (
v1alpha1); compatibility may change between minor releases.
helm upgrade --install redis-operator oci://ghcr.io/storbase/charts/redis-operator \
--namespace redis-operator-system \
--create-namespacehelm upgrade --install redis-operator ./charts/redis-operator \
--namespace redis-operator-system \
--create-namespacehelm upgrade redis-operator ./charts/redis-operator \
--namespace redis-operator-systemhelm uninstall redis-operator --namespace redis-operator-systemCRDs are shipped from charts/redis-operator/crds, which Helm installs on first install.
Helm does not upgrade or delete CRDs from this directory.
To upgrade CRDs, apply them manually before chart upgrade. Find the latest operator tag and chart version from the GitHub Releases page:
Then run:
OPERATOR_TAG=<latest-operator-tag>
CHART_VERSION=<latest-chart-version>
kubectl apply -f https://raw.githubusercontent.com/storbase/redis-operator/${OPERATOR_TAG}/config/crd/bases/redis.storbase.io_redis.yaml
helm upgrade redis-operator oci://ghcr.io/storbase/charts/redis-operator \
--version "${CHART_VERSION}" \
--namespace redis-operator-systemApply from examples manifests.