Kadalu is a lightweight persistent storage solution for Kubernetes and similar container platforms, leveraging GlusterFS for scalable and managed storage volumes.
A lightweight Persistent storage solution for Kubernetes / OpenShift / Nomad using GlusterFS in background. More information at https://kadalu.tech
Kadalu is designed to provide persistent storage in container orchestration environments such as Kubernetes, OpenShift, and Nomad, enabling users to manage storage volumes via a simple operator and CSI integration. It is primarily used by DevOps engineers and platform administrators who need to deploy and manage persistent volumes efficiently in containerized infrastructures.
Kadalu requires access to physical devices on Kubernetes nodes to provide storage, so appropriate permissions and device availability are prerequisites. The tool supports multiple Kubernetes distributions and architectures but users should verify compatibility on non-x86_64 platforms by building locally. Using the cleanup script is recommended to reset the environment if installation errors occur.
Run the install script: curl -fsSL https://github.com/kadalu/kadalu/releases/latest/download/install.sh | sudo bash -x
Check the installed version: kubectl-kadalu version
Install Kadalu operator and CSI pods: kubectl kadalu install --type=$K8S_DIST (default is kubernetes)
Add storage pool: kubectl kadalu storage-add storage-pool-1 --device <node>:/dev/sdc
Use cleanup script to remove Kadalu namespace if needed: curl -s https://raw.githubusercontent.com/kadalu/kadalu/devel/extras/scripts/cleanup | bash
Optional Helm install: helm install kadalu --namespace kadalu --create-namespace https://github.com/kadalu/kadalu/releases/latest/download/kadalu-helm-chart.tgz --set-string kubernetesDistro=$K8S_DIST
kubectl-kadalu version
Displays the installed Kadalu version.
kubectl kadalu install --type=$K8S_DIST
Installs the Kadalu operator and CSI pods for the specified Kubernetes distribution.
kubectl kadalu storage-add storage-pool-1 --device kube1:/dev/sdc
Adds a storage pool named 'storage-pool-1' using the specified device on node 'kube1'.
curl -s https://raw.githubusercontent.com/kadalu/kadalu/devel/extras/scripts/cleanup | bash
Runs the cleanup script to completely remove the Kadalu namespace and reset the setup.
helm install kadalu --namespace kadalu --create-namespace https://github.com/kadalu/kadalu/releases/latest/download/kadalu-helm-chart.tgz --set-string kubernetesDistro=$K8S_DIST
Installs Kadalu using Helm chart for the specified Kubernetes distribution.