forked from k-space/kube
		
	eaas: dragonfly has 1 rw instance and applications don't realize and change over from ro to rw when the leader changes.
		
			
				
	
	
		
			27 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			1.2 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).
 | |
| 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
 | |
| See [/argocd/applications/dragonfly.yaml](/argocd/applications/dragonfly.yaml)
 |