I am not sure how many of you use Gluster for your k8s storage (or even considering to use). I have some good news for you.
Last month, I along with Aravinda spoke at DevConf India, about project kadalu. The code & README available @ https://github.com/kadalu/kadalu. We are awaiting the talk's video to be uploaded, and once done I will share the link here.
Wanted to share few highlights of the kadalu project with you all, and also future scope of work.
kadalu comes with CSI driver, so one can use this smoothly with k8s 1.14+ versions.
Has an operator which starts CSI drivers, and Gluster storage pod when required.
2 commands to setup and get k8s storage working.
kubectl create -f kadalu-operator.yml
kubectl create -f kadalu-config.yml
Native support for single disk use-case (ie, if your backend supports High Availability, no need to use Gluster's replication), which I believe is a good thing for people who already have some storage array which is highly available, and for those companies which have their own storage products, but doesn't have k8s expose.
The above can be usecase can be used on a single AWS EBS volume, if you want to save cost of Replica 3 (If you trust it to provide your required SLA for it). Here, Single EBS volume would provide multiple k8s PVs.
GlusterFS used is very light mode, ie, no 'glusterd', no LVM, or any other layers. Only using glusterfs for filesystem, not management.
Basic end to end testing is done using Travis CI/CD. [Need more help to enhance it further].
Please note that this is a project which we started as a prototype for our talk. To take it further, feedback, feature request, suggestions and contributions are very important. Let me know if you are interested to collaborate on this one.
Possible future work:
* Implement data backup features (possibly with geo-rep).
* Resize of Volume (Both backend Gluster volume, and PV volume).
* Consider implementing helm chart for operator.
* Scale testing, etc.
Limitations (for now)
* No 'migration'. One has to start fresh with kadalu.
* No Snapshot, No cloning.
* <Please report limitation you faced through github issues>