ValkeyOperator is a production-ready kubernetes operator to deploy and manage high available Valkey Sentinel and Valkey Cluster instances. This repository contains multi Custom Resource Definition (CRD) designed for the lifecycle of Valkey standalone, sentinel or cluster instance.
- Standalone/Sentinel/Cluster valkey arch supported.
- Valkey ACL supported.
- Nodeport/LB access supported; nodeport assignement also supported.
- IPv4/IPv6 supported.
- Online scale up/down.
- Graceful version upgrade.
- Nodeselector, toleration and affinity supported.
- High available in production environment.
If you have a Kubernetes cluster and kubectl configured to access it, the easiest way to install ValkeyOperator is via Helm:
# Install the ValkeyOperator (cert-manager integration is enabled by default)
# Requires cert-manager to be installed: https://cert-manager.io/docs/installation/
helm install valkey-operator charts/valkey-operator \
--namespace valkey-system --create-namespace
# Deploy a Valkey cluster
kubectl apply -f https://raw.githubusercontent.com/chideat/valkey-operator/main/docs/examples/basic/cluster.yaml
# Check the cluster status
kubectl get valkey valkey-cluster -wNote: The Helm chart uses cert-manager to manage webhook TLS by default. Ensure cert-manager is installed before running
helm install. Alternatively, disable webhooks with--set webhook.enabled=falseif you don't need them.
# Install the ValkeyOperator
kubectl apply -k https://github.com/chideat/valkey-operator/config/defaultFor detailed installation and configuration instructions, see the User Guide.
| Version | K8s Versions | Supported |
|---|---|---|
| 7.2.x | 1.31 | Yes |
| 1.32 | Yes | |
| 8.0.x | 1.31 | Yes |
| 1.32 | Yes | |
| 8.1.x | 1.31 | Yes |
| 1.32 | Yes |
ValkeyOperator is covered by comprehensive documentation:
- Operator Overview - Architecture and core concepts
- User Guide - Complete installation and usage guide
- API Reference - Detailed API documentation
- Examples - Ready-to-use configuration examples
For a complete list of features and configuration options, see the documentation directory.
In addition, practical examples and configuration samples can be found in this repository.
This project follows the typical GitHub pull request model. Before starting any work, please either comment on an existing issue, or file a new one. For more details, please refer to the CONTRIBUTING.md file.
To release a new version of the ValkeyOperator, create a versioned tag (e.g. v0.1.0) of the repo, and the release pipeline will generate a new draft release, along side release artefacts.