Storage class parameters
Details of the default static storage class shipped with Klustre CSI.
The manifests bundle a StorageClass named klustre-csi-static. It targets pre-provisioned Lustre exports and enforces node placement.
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: klustre-csi-static
allowedTopologies:
- matchLabelExpressions:
- key: lustre.csi.klustrefs.io/lustre-client
values:
- "true"
mountOptions:
- flock
- user_xattr
provisioner: lustre.csi.klustrefs.io
reclaimPolicy: Retain
volumeBindingMode: WaitForFirstConsumer
Field summary
provisioner– Must staylustre.csi.klustrefs.ioso PVCs bind to the Klustre driver.allowedTopologies– Uses thelustre.csi.klustrefs.io/lustre-client=truelabel to ensure only Lustre-capable nodes run workloads. Update the label key/value if you customize node labels.mountOptions– Defaults toflockanduser_xattr. Add or remove Lustre options as needed (e.g.,nolock,noatime).reclaimPolicy–Retainkeeps the PV around when a PVC is deleted, which is typical for statically provisioned Lustre shares.volumeBindingMode–WaitForFirstConsumerdefers binding until a pod is scheduled, ensuring topology constraints match the consuming workload.
Customization tips
- Create additional storage classes for different mount flag sets or topology labels. Ensure each class references the same provisioner.
- If you disable topology constraints, remove
allowedTopologies, but be aware that pods might schedule onto nodes without Lustre access. - For multi-cluster environments, consider namespacing storage class names (e.g.,
klustre-csi-static-prod).
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.