Data Storage
Description of the different Storage Classes.
In order to persistently store data in Kubernetes, a pod needs to be granted access to persistent storage. Kubernetes offers the ability to create such storage easily through PersistentVolumeClaims (PVCs). For a conceptual understanding, I would recommend referring to the documentation.
In short, you can create a PVC manually:
- apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: example
namespace: example
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 10Gi
storageClassName: manilabronze
Or even better as an Volume Claim Template directly in a StatefulSet:
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: example
namespace: example
spec:
---
volumeClaimTemplates:
- metadata:
name: storage
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi
storageClassName: cindergold
In our clusters, various predefined StorageClasses are included, corresponding to different types of storage.
Quotas for those StorageClasses
must be requested in the project application form.
At the moment there are the following StorageClasses
(they are also described in the project application form):
cinderbronze
- HDD block storage with five-fold replication.
- Can only be mounted by one pod at a time.
cindergold
- SSD block storage with five-fold replication.
- Can only be mounted by one pod at a time.
manilabronze
- HDD file system storage with 8+3 ErasureCoding.
- Can be mounted by multiple pods at once.