2024-07-26 14:46:45 +00:00
# Dragonfly Operator
2024-08-14 04:08:26 +00:00
Dragonfly operator is the preferred way to add Redis support to your application
as it is modern Go rewrite and it supports high availability.
2024-08-14 04:00:16 +00:00
2024-08-14 04:08:26 +00:00
Following alternatives were considered, but are discouraged:
2024-08-14 04:00:16 +00:00
2024-08-14 04:08:26 +00:00
* Vanilla Redis without replication is unusable during pod reschedule or Kubernetes worker outage
2024-08-14 04:00:16 +00:00
* 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
2024-08-14 04:53:55 +00:00
Note that vanilla Redis
[has changed it's licensing policy ](https://redis.io/blog/redis-adopts-dual-source-available-licensing/ )
2024-08-14 04:00:16 +00:00
# For users
2024-08-14 04:08:26 +00:00
Refer to [official documentation on usage ](https://www.dragonflydb.io/docs/getting-started/kubernetes-operator#create-a-dragonfly-instance-with-replicas )
For example deployment see
[here ](https://git.k-space.ee/k-space/kube/src/branch/master/passmower/dragonfly.yaml )
2024-08-14 04:00:16 +00:00
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:
2024-07-26 14:46:45 +00:00
```
kubectl apply -f https://raw.githubusercontent.com/dragonflydb/dragonfly-operator/v1.1.6/manifests/dragonfly-operator.yaml
```
2024-08-14 04:08:26 +00:00
To upgrade refer to
[github.com/dragonflydb/dragonfly-operator ](https://github.com/dragonflydb/dragonfly-operator/releases ),
bump version and reapply