Quartermaster is a framework for managing containerized storage systems like Ceph, GlusterFS, NFS-Ganesha, Rook and others on top of Kubernetes. Quartermaster enables the deployment, installation, and integration of these type of storage systems onto a Kubernetes cluster. Quartermaster abstracts this complexity and presents the client with a simple storage deployment model which is fully integrated with Kubernetes. By simplifying the deployment of storage systems, Quartermaster makes it possible to easily and reliably deploy, upgrade, and get status of a desired storage system in a Kubernetes cluster. Once deployed, a Quartermaster managed storage system could be used to fulfill persistent volume claim requests. Quartermaster can also be used to help the setup and testing of PersistentVolumes provided by containerized storage systems deployed in Kubernetes. Today, Quartermaster supports GlusterFS, but it is designed to easily be extended to support a multitude of storage systems on top of Kubernetes.
Quartermaster is under heavy development. We are looking at maturing the Quartermaster framework as well as adding support for more storage systems
- Architecture Document
- Demo deployment of GlusterFS cluster
- Project Quartermaster Slides for K8S Storage-SIG
You can use minikube but only for mock
or nfs
storage deployments since minikube is only a single node. To create a
Kubernetes cluster with storage, it is recommended you use
Matchbox/Bootkube
or Kubernetes-CentOS. Check driver
documentation for any requirements on these systems.
Deploy Quartermaster to the kube-system namespace:
kubectl run -n kube-system kube-qm --image=quay.io/lpabon/qm
Now that Quartermaster is running, you can deploy one of the following storage systems onto your Kubernetes cluster.
- Mock: The fake storage system deployment used for developers.
- NFS: The simplest storage system deployment.
- GlusterFS: A reliable distributed file system.
- Swift: OpenStack Swift object storage
Developers please see the following documentation on how to build and participate in the quartermaster project.
Quartermaster is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.