Skip to content

Redkey Cluster Operator for Kubernetes. Manage your Redis/Valkey clusters seamlessly.

License

Notifications You must be signed in to change notification settings

InditexTech/redkeyoperator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

85 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Redkey Operator

Seamless Redkey Cluster Management on Kubernetes

GitHub License GitHub Release Go Version Build Status

Kubernetes Operator SDK Go REUSE Compliance

GitHub Issues GitHub Pull Requests GitHub Stars GitHub Forks

🚀 Quick Start📖 Documentation🤝 Contributing📝 License

Redkey Operator icon


Overview

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.

Key Features

  • 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

Quick Start

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.

  1. Clone the repository to your local machine:
git clone https://github.com/InditexTech/redkeyoperator.git
cd redkeyoperator
  1. Generate and install the CRDs:
make install
  1. 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}
  1. 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}

Documentation

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).

Contributing

Contributions are welcome! Please read our contributing guidelines to get started.

Versions

License

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.

About

Redkey Cluster Operator for Kubernetes. Manage your Redis/Valkey clusters seamlessly.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors