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 use 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.
Some ReadWriteMany storage classes have restrictions to changing the modified time of files - XP requires this capability. |
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 |
|
Minikube |
Any storage class |
Any storage class |
We strongly recommend using SSD backed storage 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.