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
cindergold
manilabronze