A Golang based redis operator which will make/oversee Redis setup on top of the Kubernetes.
1.4K
A Golang based redis operator that will make/oversee Redis standalone/cluster mode setup on top of the 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.
The purpose of creating this operator was to provide easy and production-grade setup of Redis on Kubernetes. It doesn't care if you have a plain on-prem Kubernetes or cloud-based.
Here the features which are supported by this operator:-
If you want to deploy redis-operator from scratch to a local Minikube cluster, begin with the Getting started document. It will guide you through the setup step-by-step.
The configuration of the Redis setup should be described in Redis CRD. You will find all the examples manifests in example folder.
Redis operator requires a Kubernetes cluster of version >=1.8.0. If you have just started with Operators, it's highly recommended to use the latest version of Kubernetes.
The setup can be done by using the helm. If you want to see more example, please go through the example folder.
But you can simply use the helm chart for installation.
# Deploy the redis-operator
helm upgrade redis-operator ./helm/redis-operator --install --namespace redis-operator
After deployment, verify the installation of the operator
helm test redis-operator --namespace redis-operator
Creating a redis cluster or the standalone setup.
# Create redis cluster setup
helm upgrade redis-cluster ./helm/redis-setup --set redisSetup.setupMode="cluster" \
--set redisSetup.clusterSize=3 \
--install --namespace redis-operator
# Create redis standalone setup
helm upgrade redis ./helm/redis-setup --set redisSetup.setupMode="standalone" \
--install --namespace redis-operator
Other customizable values are present in values.yaml with description.
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"
Please see our DEVELOPMENT.md for details.
Please see our CHNANGELOG.md for details.
Please see our GETTING_STARTED.md for details.
Content type
Image
Digest
Size
50.6 MB
Last updated
over 6 years ago
docker pull opstree/redis-operator