Storage Introduction
This document describes working with Kubernetes storage classes in PMK. An understanding of Kubernetes concepts of Storage Classes, Volumes and Persistent Volumes is highly recommended.
Clusters
By default, every Kubernetes cluster has a plugin that is used to provision file storage. Users can select other add-ons to install depending on their needs. To utilize cluster storage, users must establish a physical storage instance, a persistent volume, and a persistent volume.
Storage Classes
A Storage class in Kubernetes provides a way for administrators to describe the ‘classes’ or types of storage they offer. A storage class is used by a Kubernetes cluster to dynamically provision persistent volumes for a Kubernetes application when the application requires persistent storage.
Volumes
By default, Kubernetes storage is temporary and only exists as long as the pod exists. So, while container storage is portable, it is not durable. Kubernetes solves the problem of data durability by utilizing two storage models. These models, or Volume types, are grouped into two main categories, Ephemeral and Persistent.
- Ephemeral Volumes – This volume only exists as long as the containing pod persists. Once the pod associated with the volume is deleted or removed, the volume is also eliminated. This volume should primarily be used for storing temporarily data that does not need to be retained once the pod is removed.
- Persistent Volumes – This type of storage remains available even if the pod is removed. The data itself is retained apart from the pod, continues to persist, and is available to other pods if needed.
This image shows the main components of the storage layout within a cluster.

Platform9 does not automatically deploy storage into any cluster type. To deploy any application that requires persistent storage ensure that a Storage Class and the related Storage CSI Driver have been installed and configured.
As an example, to add a CSI storage driver, see the Hostpath CSI page.