* fix: improve kubeClientQPS type consistency in operator chart - Use explicit float comparison (0.0) in deployment template - Update values.yaml kubeClientQPS default from 0 to 0.0 for type consistency - Ensures proper float64 type handling in Helm template condition Signed-off-by: yangw <wuyangmuc@gmail.com> * update docs Signed-off-by: yangw <wuyangmuc@gmail.com> * remove condition Signed-off-by: yangw <wuyangmuc@gmail.com> * update test config Signed-off-by: yangw <wuyangmuc@gmail.com> * fix lint Signed-off-by: yangw <wuyangmuc@gmail.com> --------- Signed-off-by: yangw <wuyangmuc@gmail.com> |
||
---|---|---|
.github | ||
api | ||
charts | ||
cmd | ||
config | ||
dashboards | ||
docs | ||
example/v1beta2 | ||
hack | ||
internal | ||
mocks | ||
scripts | ||
static | ||
tests | ||
.dockerignore | ||
.gitignore | ||
.golangci.yml | ||
.travis.yml | ||
.yamllint.yml | ||
CHANGELOG.md | ||
CODEOWNERS | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
Dockerfile | ||
LICENSE | ||
Makefile | ||
PROJECT | ||
README.md | ||
ROADMAP.md | ||
SECURITY.md | ||
USED_BY_ORGANIZATIONS.md | ||
ct.yaml | ||
go.mod | ||
go.sum |
README.md
A Golang-based Redis operator that will make/oversee Redis standalone and cluster mode setup on top of Kubernetes. It can create a Redis cluster setup with best practices on Cloud as well as the bare metal environment. Also, it provides an in-built monitoring capability using redis-exporter.
For documentation, please refer to https://redis-operator.opstree.dev/
Organizations that are using Redis Operator to manage their Redis workload can be found here. If your organization is also using Redis Operator, please feel free to add by creating a pull request
This operator only supports versions of Redis >=6
.
Architecture

Purpose
There are multiple problems that people face while setting up Redis setup on Kubernetes, especially cluster type setup. The purpose of creating this operator is to provide an easy and production-ready interface for Redis setup that includes best-practices, security controls, monitoring, and management.
Supported Features
Here are the features which are supported by this operator:
- Redis cluster and standalone mode setup
- Redis cluster failover and recovery
- Inbuilt monitoring with redis exporter
- Password and password-less setup of Redis
- TLS support for additional security layer
- IPv4 and IPv6 support for Redis setup
- Detailed monitoring Grafana dashboard
Prerequisites
Redis Operator requires a Kubernetes cluster of version >=1.18.0
. If you have just started with Operators, it's highly recommended using the latest version of Kubernetes.
Image Compatibility
The following table shows the compatibility between the Operator Version, Redis Image, Sentinel Image, and Exporter Image:
Operator Version | Redis Image | Sentinel Image | Exporter Image |
---|---|---|---|
v0.19.x | > v7.0.12, >=v6.2.14 | > v7.0.12, >= v6.2.14 | v1.44.0 |
v0.18.x | v7.0.12 | v7.0.12 | v1.44.0 |
v0.17.0 | v7.0.12 | v7.0.12 | v1.44.0 |
v0.16.0 | v7.0.12 | v7.0.12 | v1.44.0 |
v0.15.1 | v7.0.12 | v7.0.12 | v1.44.0 |
v0.15.0 | v7.0.11 | v7.0.11 | v1.44.0 |
v0.14.0 | v7.0.7 | v7.0.7 | v1.44.0 |
v0.13.0 | v6.2.5 | nil | v1.44.0 |
Quickstart
The setup can be done by using Helm. If you want to see more examples, please go through the example folder.
But you can simply use the Helm chart for installation.
# Add the Helm chart
$ helm repo add ot-helm https://ot-container-kit.github.io/helm-charts/
# Deploy the Redis operator
$ helm upgrade redis-operator ot-helm/redis-operator \
--install --create-namespace --namespace ot-operators
After deployment, verify the installation of the operator
helm test redis-operator --namespace ot-operators
Creating Redis cluster, standalone, replication and sentinel setup.
# Create Redis cluster setup
$ helm upgrade redis-cluster ot-helm/redis-cluster \
--set redisCluster.clusterSize=3 --install \
--namespace ot-operators
# Create Redis standalone setup
$ helm upgrade redis ot-helm/redis \
--install --namespace ot-operators
# Create Redis replication setup
$ helm upgrade redis-replication ot-helm/replication \
--install --namespace ot-operators
# Create Redis sentinel setup
$ helm upgrade redis-sentinel ot-helm/sentinel \
--install --namespace ot-operators
If you want to customize the values file by yourself while initializing the Helm command, the values files for reference are present here.
Monitoring with Prometheus
To monitor Redis performance we will be using Prometheus. In any case, extra Prometheus configuration will not be required because we will be using the Prometheus service discovery pattern. For that we already have set these annotations:
annotations:
redis.opstreelabs.in: "true"
prometheus.io/scrape: "true"
prometheus.io/port: "9121"
Contribution
Please see our CONTRIBUTING.md for details.
Release History
Please see our CHANGELOG.md for details.
Contact Information
This project is managed by OpsTree Solutions. For any queries or suggestions, you can reach out to us at opensource@opstree.com.
Join our Slack Channel: #redis-operator.