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
Field | Description | Type |
---|---|---|
apiVersion | The Kubernetes API version for the StorageClass object. | string |
kind | The kind of Kubernetes object, always StorageClass . | string |
metadata.name | The name of the StorageClass. | string |
provisioner | Specifies the CSI driver used for dynamic provisioning. For PX-CSI, this value is pxd.portworx.com . | string |
reclaimPolicy | Defines what happens to a volume when released from its claim. Refer to the Kubernetes documentation for options Delete or Retain . | string |
volumeBindingMode | Controls when volume binding and dynamic provisioning occur. Refer to the Kubernetes documentation for options Immediate or WaitForFirstConsumer . | string |
allowVolumeExpansion | Specifies whether the volume can be dynamically resized. | boolean |
mountOptions | A list of mount options supported by the backend. Common examples include nfsvers=3 , tcp , and nfsvers=4.1 . | array |
parameters | PX-CSI-specific configuration parameters described below. | object |
parameters
fields
Common
Field | Description | Type | Required/Optional |
---|---|---|---|
parameters.backend | Defines the storage backend for the volume. Accepted values: - pure_block (FlashArray block)- pure_fa_file (FlashArray File Services)- pure_file (FlashBlade file) | string | Required |
FlashArray block volumes
Field | Description | Type | Required/Optional |
---|---|---|---|
parameters.max_iops | Sets a QoS IOPS cap. Range: 100 – 100,000,000. | string | Optional |
parameters.max_bandwidth | Sets a QoS bandwidth cap. Units: K , M , G (for example, 10G ). | string | Optional |
parameters.csi.storage.k8s.io/fstype | The file system type to create on the volume (for example, ext4 , xfs ). | string | Optional |
parameters.secure | When true , enables volume encryption. Requires cluster-wide key setup. | boolean | Optional |
parameters.pure_fa_pod_name | (Secure multi-tenancy) The name of the FlashArray pod inside the configured realm for volume placement. | string | Optional |
FlashArray file services
Field | Description | Type | Required/Optional |
---|---|---|---|
parameters.pure_nfs_policy | The name of a pre-created FlashArray NFS policy. | string | Required |
parameters.pure_fa_file_system | The FlashArray file system name where directories or volumes are created. | string | Required |
parameters.pure_quota_policy | An optional quota policy name for enforcing size limits. | string | Optional |
parameters.pure_nfs_endpoint | Overrides the FlashArray NFSEndPoint from the configuration for this class. | string | Optional |
FlashBlade file systems
Field | Description | Type | Required/Optional |
---|---|---|---|
parameters.pure_export_rules | NFS export rules that apply to the directory (for example, *(rw) or *(rw,no_root_squash) ). | string | Optional |
parameters.pure_nfs_endpoint | Specifies a particular FlashBlade NFS endpoint when multiple endpoints are available. | string | Optional |
Defaults created by PX-CSI
PX-CSI automatically deploys default StorageClass
objects during installation:
StorageClass | Backend | Purpose |
---|---|---|
px-fa-direct-access | FlashArray | FlashArray block volume provisioning |
px-fb-direct-access-nfsv3 | FlashBlade | FlashBlade NFSv3 provisioning |
px-fb-direct-access-nfsv4 | FlashBlade | FlashBlade NFSv4 provisioning |
To view available StorageClass
objects, run the following command:
kubectl get sc
Example StorageClass
- FlashArray block volumes
- FlashArray file services
- FlashBlade file systems
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
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: fa-file-sc
provisioner: pxd.portworx.com
parameters:
backend: pure_fa_file
pure_nfs_policy: test-policy
pure_fa_file_system: name01
pure_quota_policy: 100g_policy
pure_nfs_endpoint: <nfs-endpoints-of-fa>
mountOptions:
- nfsvers=3
- proto=tcp
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: px-fb-direct-access-nfsv4
provisioner: pxd.portworx.com
allowVolumeExpansion: true
parameters:
backend: pure_file
pure_export_rules: '*(rw)'
mountOptions:
- nfsvers=4.1
- tcp
reclaimPolicy: Delete
volumeBindingMode: Immediate