Files
argocd
asterisk
bind
camtiler
cert-manager
cnpg-system
dragonfly-operator-system
README.md
elastic-system
etherpad
freescout
gitea
grafana
hackerspace
harbor
kube-system
kubernetes-dashboard
local-path-storage
logging
logmower
longhorn-system
metallb-system
minio-clusters
mongodb-operator
monitoring
mysql-clusters
nextcloud
nyancat
oidc-gateway
openebs
opensearch-operator
passmower
playground
postgres-clusters
prometheus-operator
redis-clusters
reloader
ripe87
rosdump
shared
signs
tigera-operator
traefik
whoami
whoami-oidc
wiki
wildduck
woodpecker
.gitignore
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

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