Skip to content

storbase/redis-operator

Repository files navigation

redis-operator

Deploy and operate Redis on Kubernetes with one Redis CRD in two modes:

  • cluster: shard-based Redis Cluster (1 StatefulSet per shard)
  • failover: Redis + Sentinel (2 StatefulSets: redis and sentinel)

Highlights

  • 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

Compatibility

Component Compatibility
Kubernetes (runtime) >= 1.25.0
Redis >= 7

Notes:

  • This project is pre-GA (v1alpha1); compatibility may change between minor releases.

Install with Helm 4

Install from OCI chart (GHCR)

helm upgrade --install redis-operator oci://ghcr.io/storbase/charts/redis-operator \
  --namespace redis-operator-system \
  --create-namespace

Install from local chart

helm upgrade --install redis-operator ./charts/redis-operator \
  --namespace redis-operator-system \
  --create-namespace

Upgrade

helm upgrade redis-operator ./charts/redis-operator \
  --namespace redis-operator-system

Uninstall

helm uninstall redis-operator --namespace redis-operator-system

CRD lifecycle

CRDs 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-system

Redis examples

Apply from examples manifests.

About

Redis Operator for Kubernetes that deploys and operates Redis Cluster or Redis+Sentinel failover with a single CRD, plus TLS, external access, and shard scaling.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors