Files
_disabled
argocd
asterisk
bind
cert-manager
cnpg-system
default
dragonfly-operator-system
README.md
elastic-system
etherpad
freescout
freeswitch
frigate
gitea
grafana
hackerspace
harbor
kube-system
kubernetes-dashboard
longhorn-system
metallb-system
minio-clusters
mongodb-operator
monitoring
mysql-clusters
nextcloud
nvidia
nyancat
opensearch-operator
passmower
postgres-clusters
prometheus-operator
proxmox-csi
redis-clusters
ripe87
rosdump
shared
signs
tigera-operator
traefik
whoami
wiki
wildduck
woodpecker
.gitignore
.yamllint
CLUSTER.md
CONTRIBUTORS.md
LICENSE.md
README.md
SLACK.md
cluster-role-bindings.yml
storage-class.yaml
kube/dragonfly-operator-system

Dragonfly Operator

Dragonfly operator is the preferred way to add Redis support to your application as it is modern Go rewrite and it supports high availability.

Following alternatives were considered, but are discouraged:

  • Vanilla Redis without replication is unusable during pod reschedule or Kubernetes worker outage
  • Vanilla Redis' replication is clunky and there is no reliable operator for Kubernetes to use vanilla redis
  • KeyDB Cluster was unable to guarantee strong consistency

Note that vanilla Redis has changed it's licensing policy

For users

Refer to official documentation on usage

For example deployment see here. To find other instances in this repository use grep -r "kind: Dragonfly"

Use storage class redis for persistent instances. To achieve high availabilllity use 2+ replicas with correctly configured topologySpreadConstraints.

For administrators

The operator was deployed with following snippet:

kubectl apply -f https://raw.githubusercontent.com/dragonflydb/dragonfly-operator/v1.1.6/manifests/dragonfly-operator.yaml

To upgrade refer to github.com/dragonflydb/dragonfly-operator, bump version and reapply