Glusterfs Kubernetes Cluster Sidecar
This project is as a PoC to setup a gluster cluster using Kubernetes. It should handle resizing of any type and be
resilient to the various conditions both gluster and kubernetes can find themselves in.
How to use it
There is an article here explaining how to use this here:
The docker image is hosted on docker hub and can be found here:
An example kubernetes replication controller can be found in the examples directory on github here:
There you will also find some helper scripts to test out creating the cluster and resizing it.
This should be a be a comma separated list of key values the same as the podTemplate labels. See above for example.
This is how long to sleep between work cycles.
This is how many seconds a cluster member has to get healthy before automatically being removed from the cluster.
This is the meta.name of the kubernetes endpoints.
This is the cluster port for kubernetes gluster volume mounting.
This is the gluster volume name.
This is the gluster brick name.
This is the replication factor for files on gluster cluster.
This is the namespace in which this sidecar will run.
If you follow the instructions on article:
On the sidecar of the first node you create, you will see your logs for debugging
Still to do
- Test performance of gluster (with more than 100 nodes or something like that)
- Test real cases of failure and autorecovery
- Allow to add/remove any pod number, not just the last one
- Add support for fully distributed non-replicated cluster
- Parametrize also on Makefile to avoid the need to change the rc-template and svc-template manually
- Add tests!
- Add to circleCi
This sidecar is inspired in a sidecar for mongo on kubernetes