Files
docs/doc/source/storage/kubernetes/configure-powerstore-csi-backend-02af0aa983b0.rst
Suzana Fernandes 3fec5e77a0 Update Starlingx Dell PowerStore CSM/CSI support documentation
Story: 2011308
Task: 52533

Change-Id: Icb6a2ec38c0ff7d1b1a2f48780895a415f6b2087
Signed-off-by: Suzana Fernandes <Suzana.Fernandes@windriver.com>
2025-09-09 19:15:32 +00:00

17 KiB

Configure Powerstore CSI Backend

driver for PowerStore is a part of the open-source suite of Kubernetes storage enablers for Dell products. It is a driver that provides support for provisioning persistent storage using Dell PowerStore storage array.

Enable CSI PowerStore Chart

Note

By default, the csi-powerstore chart is enabled. Disable any other / if not used/configured, otherwise it could cause the application to fail on apply.

~(keystone_admin)$ system helm-chart-attribute-modify --enabled false dell-storage <chart_name> dell-storage
  1. Enable the chart.

    ~(keystone_admin)$  system helm-chart-attribute-modify --enabled true dell-storage csi-powerstore dell-storage
  2. Create overrides to configure the storage connection.

    ISCSI Protocol

    ~(keystone_admin)$ cat << EOF > /home/sysadmin/powerstoreOverrides.yaml
    storageClasses:
    - name: csi-powerstore-iscsi
      arrayID: <ARRAY_ID>
      fstype: ext4
    
    secret:
      arrays:
      - globalID: <GLOBAL_ID>
        username: <USERNAME>
        password: <PASSWORD>
        endpoint: https://<POWERSTORE_ADDRESS>/api/rest
        isDefault: true
        blockProtocol: "ISCSI"
    EOF

    NFS Protocol

    ~(keystone_admin)$ cat << EOF > /home/sysadmin/powerstoreOverrides.yaml
    storageClasses:
    - name: csi-powerstore-nfs
      arrayID: <ARRAY_ID>
      fstype: ext4
      nasName: NAS1
    
    secret:
      arrays:
      - globalID: <GLOBAL_ID>
        username: <USERNAME>
        password: <PASSWORD>
        endpoint: https://<POWERSTORE_ADDRESS>/api/rest
        isDefault: true
        blockProtocol: None
        nasName: NAS1
    EOF
  3. Apply overrides.

    ~(keystone_admin)$ system helm-override-update dell-storage csi-powerstore dell-storage --values=/home/sysadmin/powerstoreOverrides.yaml
  4. Apply the chart.

    ~(keystone_admin)$ system application-apply dell-storage

UserOverrides Parameters

General Parameters

Parameter Description Required Default
csm.replication Enables/disables replication sidecar container. No false
csm.resiliency Enables/disables podmon sidecar container. No false
labels.isApplication If set to true it can run with application core affinity, otherwise it runs as platform. No false
controller.replication.replicationPrefix Change replication prefix. No replication.storage.dell.com
controller.snapshot.deletionPolicy Specifies what happens when VolumeSnapshot is deleted. No Delete

StorageClasses Parameters

Parameter Description Required Default
storageClasses[0].name StorageClass name. Yes "csi-powerstore-" + fstype
storageClasses[0].arrayID ID of array to be used for volumes. arrayID corresponding to array's globalID specified in secrets. Yes Not Applicable
storageClasses[0].nasName server's name. Important: required for protocol. No Not Applicable
storageClasses[0].provisioner Driver name. No csi-powerstore.dellemc.com
storageClasses[0].fstype Filesystem type for mounted volumes. No nfs
storageClasses[0].reclaimPolicy PVs that are dynamically created by a StorageClass will have the reclaim policy specified here. No Delete
storageClasses[0].allowVolumeExpansion Allows the users to resize the volume by editing the corresponding object. No false
storageClasses[0].volumeBindingMode Controls when volume binding and dynamic provisioning should occur. No Immediate
storageClasses[0].allowRoot Enables or disables root squashing (valid only for ). No false
storageClasses[0].nfsAcls Enables setting permissions on mount directory. No 0777
storageClasses[0].allowedTopologies This feature lets you specify sub-divisions of a cluster for a volume to be placed in. Yes Not Applicable
storageClasses[0].replication Used to configure replication sidecar container. No Not Applicable
storageClasses[0].replication.remoteStorageClassName Remote StorageClass name. No csi-powerstore-replication
storageClasses[0].replication.remoteClusterID Remote ClusterID. No Not Applicable
storageClasses[0].replication.remoteSystem Remote PowerStore system. No Not Applicable
storageClasses[0].replication.rpo Change to any other supported by PowerStore. No Five_Minutes
storageClasses[0].replication.ignoreNamespaces Set to true if you want to ignore namespaces and if false creates separate volume group per namespace. No false
storageClasses[0].replication.volumeGroupPrefix Volume group prefix. No csi-powerstore

Secret Parameters

Parameter Description Required Default
secret.arrays List of PowerStore array. Yes Not Applicable
secret.arrays[0].globalID Unique ID of the PowerStore array. globalID corresponding to arrayID specified in storageClasses. Yes Not Applicable
secret.arrays[0].username Username for connecting to REST API server. Yes Not Applicable
secret.arrays[0].password Password for connecting to REST API server. Yes Not Applicable
secret.arrays[0].endpoint HTTPS endpoint of the REST API server. Yes Not Applicable
secret.arrays[0].isDefault Treat current array as a default. Important: requires one array as default. No false
secret.arrays[0].skipCertificateValidation Indicates if client side validation of server's certificate can be skipped. No true
secret.arrays[0].blockProtocol What SCSI transport protocol used on node side (FC, ISCSI, NVMeTCP, NVMeFC, None, or auto). No auto
secret.arrays[0].nasName What should be used for volumes. Required for protocol. No Not Applicable
secret.arrays[0].nfsAcls Enables setting permissions on mount directory. No 0777