Seamless Redkey Cluster Management on Kubernetes
🚀 Quick Start • 📖 Documentation • 🤝 Contributing • 📝 License
A Redkey Cluster is a key/value cluster using either Redis Official Image or Valkey Official Image images to create its nodes (note that all cluster nodes must use the same image).
Redkey Operator is the easiest way to deploy and manage a Redkey Cluster in Kubernetes implementing the operator pattern.
This operator implements a controller that extends the Kubernetes API allowing to seamlessly deploy a Redkey cluster, monitor the deployed resources implementing a reconciliation loop, logging events, manage cluster scaling and recover from errors.
Redkey operator is built using kubebuilder and operator-sdk.
- Redkey Cluster creation
- Cluster scaling up and down
- Cluster upgrading
- Update node pods image
- Update Redis configuration
- Update node pods resources
- Ensure cluster health
- Slots allocation
- Ephemeral cluster (pure cache-like behavior) or using persistence
- RedisGraph support
Prerrequisites:
- A running Kubernetes cluster (v1.24+)
- kubectl (v1.24+)
- Make
- Go (project configured to easily install using asdf or mise)
The operator can be installed using the provided Makefile. The following steps will guide you through the installation and deployment of a sample Redkey Cluster. Redkey Operator can be installed in any namespace, but for this quick start we will use the redkey-operator namespace.
- Clone the repository to your local machine:
git clone https://github.com/InditexTech/redkeyoperator.git
cd redkeyoperator- Generate and install the CRDs:
make install- Deploy the operator in the cluster (replace
${VERSION}with the desired version, e.g.,0.1.0; check the repo releases for available versions):
make deploy IMG=ghcr.io/inditextech/redkey-operator:${VERSION}- Create a Redkey Cluster (replace
${VERSION}with the desired version, e.g.,0.1.0; check the Redkey Robin repo releases for available versions):
make apply-rkcl IMG_ROBIN=ghcr.io/inditextech/redkey-robin:${VERSION}Refer to operator guide to have an overview of the main Redis configuration and management options, and a troubleshooting guide.
If you are a developer, you'll find interesting information in the developer guide.
Learn about Redkey Cluster Status and Substatus.
Discover Redkey Robin.
The importance of the purgeKeysOnRebalance parameter.
Deploy the Operator in Kubernetes using Operator Lifecycle Manager (OLM).
Contributions are welcome! Please read our contributing guidelines to get started.
- Go version (https://github.com/golang/go): v1.25.7
- Operator SDK version (https://github.com/operator-framework/operator-sdk): v1.42.0
- Kubernetes Controller Tools version (https://github.com/kubernetes-sigs/controller-tools): v0.18.0
Copyright 2025 Inditex.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
