this k8s operator allows you to run a 2.1 couchdb cluster on top of k8s.
- operator
- CRD (CouchDB)
- definition
- management custom object add (spawn cluster)
- management custom object update (update cluster)
- management custom object delete (delete cluster)
- deployment template (port, readyness, livelyness)
- cluster management
- new pod -> join cluster
- old pod gone -> leave cluster
- operator definition
- CRD (CouchDB)
- README
see 7 principles taken from coreOS post: https://coreos.com/blog/introducing-operators.html and https://github.com/kubernetes/community/blob/master/contributors/devel/controllers.md
- k8s >= 1.7.0
$ kubectl apply -f k8s/resource-type.yml
$ kubectl apply -f k8s/deployment.yml
now, you can deploy a couchdb cluster like this:
apiVersion: "stable.couchdb.org/v1"
kind: CouchDB
metadata:
name: my-couchdb-cluster
spec:
version: "2.1.0"
image: "nicolai86/couchdb"
replicas: 3