forked from k-space/kube
		
	
		
			
				
	
	
		
			39 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			1.5 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
 | |
| 
 | |
| 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
 |