forked from k-space/kube
38 lines
1.4 KiB
Markdown
38 lines
1.4 KiB
Markdown
# 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](https://redis.io/blog/redis-adopts-dual-source-available-licensing/)
|
|
|
|
# For users
|
|
|
|
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)
|
|
|
|
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](https://github.com/dragonflydb/dragonfly-operator/releases),
|
|
bump version and reapply
|