Skip to main content
Version: 25.8

PX-CSI StorageClass reference

PX-CSI uses standard Kubernetes StorageClass resources with a set of PX-CSI-specific parameters for FlashArray and FlashBlade backend storage.

StorageClass

FieldDescriptionType
apiVersionThe Kubernetes API version for the StorageClass object.string
kindThe kind of Kubernetes object, always StorageClass.string
metadata.nameThe name of the StorageClass.string
provisionerSpecifies the CSI driver used for dynamic provisioning. For PX-CSI, this value is pxd.portworx.com.string
reclaimPolicyDefines what happens to a volume when released from its claim. Refer to the Kubernetes documentation for options Delete or Retain.string
volumeBindingModeControls when volume binding and dynamic provisioning occur. Refer to the Kubernetes documentation for options Immediate or WaitForFirstConsumer.string
allowVolumeExpansionSpecifies whether the volume can be dynamically resized.boolean
mountOptionsA list of mount options supported by the backend. Common examples include nfsvers=3, tcp, and nfsvers=4.1.array
parametersPX-CSI-specific configuration parameters described below.object

parameters fields

Common

FieldDescriptionTypeRequired/Optional
parameters.backendDefines the storage backend for the volume. Accepted values:
- pure_block (FlashArray block)
- pure_fa_file (FlashArray File Services)
- pure_file (FlashBlade file)
stringRequired

FlashArray block volumes

FieldDescriptionTypeRequired/Optional
parameters.max_iopsSets a QoS IOPS cap. Range: 100 – 100,000,000.stringOptional
parameters.max_bandwidthSets a QoS bandwidth cap. Units: K, M, G (for example, 10G).stringOptional
parameters.csi.storage.k8s.io/fstypeThe file system type to create on the volume (for example, ext4, xfs).stringOptional
parameters.secureWhen true, enables volume encryption. Requires cluster-wide key setup.booleanOptional
parameters.pure_fa_pod_name(Secure multi-tenancy) The name of the FlashArray pod inside the configured realm for volume placement.stringOptional

FlashArray file services

FieldDescriptionTypeRequired/Optional
parameters.pure_nfs_policyThe name of a pre-created FlashArray NFS policy.stringRequired
parameters.pure_fa_file_systemThe FlashArray file system name where directories or volumes are created.stringRequired
parameters.pure_quota_policyAn optional quota policy name for enforcing size limits.stringOptional
parameters.pure_nfs_endpointOverrides the FlashArray NFSEndPoint from the configuration for this class.stringOptional

FlashBlade file systems

FieldDescriptionTypeRequired/Optional
parameters.pure_export_rulesNFS export rules that apply to the directory (for example, *(rw) or *(rw,no_root_squash)).stringOptional
parameters.pure_nfs_endpointSpecifies a particular FlashBlade NFS endpoint when multiple endpoints are available.stringOptional

Defaults created by PX-CSI

PX-CSI automatically deploys default StorageClass objects during installation:

StorageClassBackendPurpose
px-fa-direct-accessFlashArrayFlashArray block volume provisioning
px-fb-direct-access-nfsv3FlashBladeFlashBlade NFSv3 provisioning
px-fb-direct-access-nfsv4FlashBladeFlashBlade NFSv4 provisioning

To view available StorageClass objects, run the following command:

kubectl get sc

Example StorageClass

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: px-fa-direct-access
provisioner: pxd.portworx.com
allowVolumeExpansion: true
parameters:
backend: pure_block
reclaimPolicy: Delete
volumeBindingMode: Immediate