/quartermaster

A framework for managing containerized storage systems on top of Kubernetes

Primary LanguageGoApache License 2.0Apache-2.0

Build Status

Overview

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.

Project status: Alpha

Quartermaster is under heavy development. We are looking at maturing the Quartermaster framework as well as adding support for more storage systems

More information

Getting Started

Kubernetes Development Environment Setup

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.

Deploying quartermaster

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

Developers please see the following documentation on how to build and participate in the quartermaster project.

Licensing

Quartermaster is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.