Public | Automated Build

Last pushed: 5 hours ago
Short Description
Kubernetes sidecar for GlusterFS
Full Description

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.


    Required: NO
    Default: role=gluster,environment=test
    This should be a be a comma separated list of key values the same as the podTemplate labels. See above for example.
    Required: NO
    Default: 5
    This is how long to sleep between work cycles.
    Required: NO
    Default: 15
    This is how many seconds a cluster member has to get healthy before automatically being removed from the cluster.
    Required: NO
    Default: glusterfs-cluster
    This is the of the kubernetes endpoints.
    Required: NO
    Default: 1
    This is the cluster port for kubernetes gluster volume mounting.
    Required: NO
    Default: data
    This is the gluster volume name.
    Required: NO
    Default: data
    This is the gluster brick name.
    Required: NO
    Default: 2
    This is the replication factor for files on gluster cluster.
    Required: NO
    Default: default
    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

Inspired in

This sidecar is inspired in a sidecar for mongo on kubernetes

Docker Pull Command
Source Repository