K8s storage classes

Contents

This section discusses the various storage classes and requirements for the XP operator.

Introduction

Storage classes act as an abstraction layer for Kubernetes to access different underlying storage solutions. A cloud provider will typically offer a range of different storage types. You may define your own storage class, and map it to the desired infrastructure.

Access modes

Each storage class can create volumes with a specific access mode:

ReadWriteOnce (RWO)

The slightly confusing name means it can be mounted in read and write mode from only one node (VM) at a time. Multiple pods on the same node can it at the same time.

ReadWriteMany (RWM)

Can be mounted in read and write mode by many nodes.

There are also ReadOnlyMany and ReadWriteOncePod storage classes, but these are generally not relevant for the XP operator

ReadWriteOnce is supported by the default storage classes available in any k8s cluster. This satisfies the requirement of XP deployment in single mode.

An NFS-based ReadWriteMany storage class is required to deploy XP in clustered mode. Refer to the table below to see which storage class you can use on the major cloud service providers.

TODO: Most storage classes that support ReadWriteMany access mode have also a restriction in changing the modified time of files that XP requires.

Compatiblity list

Below is a list of standard storage classes that are available out-of-the-box from popular cloud providers.

Provider

XP single mode

XP cluster mode

Azure

Any storage class with RWO

azurefile-csi and azurefile-csi-premium in NFS mode, provided by Azure file CSI driver

AWS

Any storage class with RWO

EFS

Google Cloud

Any storage class with RWO

Filestore CSI driver

Minikube

Any storage class

Any storage class

We strongly recommend using SSD/High performance storage backends for your RWO storage class. Other alternatives will slow down your XP instances significantly.
The managed RWM storage classes provided by Azure and Google have minimum disk size requirements which can be very high depending on your actual requirements. Please refer to each respective cloud provider’s site for more information.

Custom NFS provider

An alternative to using your cloud provider’s managed RWM service, is deploying your own NFS storage.


Contents

Contents