New CSI Plugins for PowerFlex, PowerStore, Unity & PowerScale
We have just released new CSI plugins for PowerFlex, PowerStore & Unity, here is what’s new
PowerFlex CSI 1.2
The CSI Driver for Dell EMC PowerFlex (previously branded CSI Driver for Dell EMC VxFlex OS) is a plug-in that is installed into Kubernetes to provide persistent storage using Dell EMC PowerFlex storage system.
The CSI Driver for Dell EMC PowerFlex and Kubernetes communicate using the Container Storage Interface protocol v 1.1. CSI Driver for Dell EMC PowerFlex is compatible with Kubernetes versions 1.17, 1.18, 1.19 and OpenShift 4.3 and 4.4 and Docker EE 3.1.
The CSI Driver for Dell EMC PowerFlex supports Red Hat Enterprise Linux (RHEL) 7.6, 7.7 and 7.8, CentOS 7.6, 7.7 and 7.8 and SUSE Linux Enterprise Server 15 as a host operating system. The CSI Driver for Dell EMC PowerFlex supports Dell EMC PowerFlex version 3.0.x and 3.5.
Services Design, Technology, & Supportability Improvements
CSI Driver for Dell EMC PowerFlex v1.2 supports the following new features:
-
Added support for Kubernetes 1.17, 1.18 and 1.19.
-
Added support for OpenShift 4.4 with Red Hat Enterprise Linux CoreOS on master nodes and Red Hat Enterprise Linux 7.6 on worker nodes.
-
Added support for Docker EE 3.1.
-
Added support for Red Hat Enterprise Linux (RHEL) 7.8 and CentOS 7.6, 7.7 and 7.8 as a host operating system for Kubernetes.
-
Added support for SUSE Linux Enterprise Server 15 as a host operating system for Kubernetes.
-
Persistent Volume (PV) capabilities: Resize
-
Supports Raw Block Volumes.
Created using the volumeDevices list in the pod template spec with each entry accessing a
volumeClaimTemplate specifying a volumeMode: Block
• Are presented as a block device to the pod by using a bind mount to a block device in the
node’s file system.
• Applications using the pod are responsible for any filesystem operations -
Support (Online) Volume Expansion. This expansion is done online i.e. when PVC is attached to a node.
• Storage class used to create the PVC needs to have the attribute allowVolumeExpansion set to true
– Note: Default for helm install/operator is true
• To resize a PVC, update spec.resources.requests.storage to the intended size
-
Supports Topology.
Support for Topology (VOLUME_ACCESSIBILITY_CONSTRAINTS) added
– This does not include “customer defined topology”- customers cannot create their own labels for their nodes
• Driver no longer assumes it has equal access to every node in a k8s cluster
– For example, SDC may not be installed on all worker nodes
• Storageclass binding mode must now be “WaitForFirstConsumer”
– With Immediate binding mode, pvc could end up getting provisioned to a node the driver can’t access
• Node labels need to specified (driver on node does this), and storage class must have desired topology field updated with label to make use of topology
Driver Installation – Methods
Full details are in the Product Guide, the following is a summary.
• CSI Driver for Dell EMC PowerFlex can be installed in the following ways
• Using Helm 3 Charts and the installation scripts
• Using the common CSI Operator which can install multiple CSI drivers provided by Dell EMC
Driver Installation Prerequisites – Upstream Kubernetes
Full details are in the Installation Guide but here is a summary of pre-reqs for the driver.
• Upstream Kubernetes 1.17.x/1.18.x/1.19.x running on a supported Host OS
• Docker daemon running and configured with MountFlags=shared on all k8s masters/nodes
• Snapshot CRDs and snapshot controller installed in cluster
– If snapshot cr’s are not present on the k8s cluster, use the –snapshot-crd flag to install them when running the csiinstall.sh script
• Optional – Helm 3 installed in the Kubernetes cluster
• Mandatory if using the Helm based installer or for using the test examples like 2vols
• A namespace “vxflexos” should be created prior to the installation. The driver pods, secrets are created in this namespace.
• SDC must be installed and set up on all worker nodes.
Driver Installation Prerequisites – OpenShift
Full details are in the Installation Guide but here is a summary of pre-reqs for the driver.
• OpenShift 4.3/4.4 cluster running RHEL worker nodes
• A namespace where the driver will be deployed
• A vxflexos secret named vxflexos-creds, with VxFlex username/password, in test-vxflexos namespace
• SDC must be installed and set up on all worker nodes
Note: The driver is not yet verified/qualified on RHCOS worker nodes
Installation using Helm based installer
Full details are in the Installation Guide.
1. Clone the repository from the URL – github.com/dell/csi-vxflexos (release 1.2)
2. Create a Kubernetes secret – “vxflexos-creds” – with your username and password for
the VxFlex instance, in the vxflexos namespace.
3. Create your myvalues.yaml file from the values.yaml file and edit the parameters for your
installation per the documentation.
4. Go to dell-csi-helm-installer/ dir
5. Install the driver using csi-install.sh bash script by running:
./csi-install.sh –namespace vxflexos –values <path to your myvalues
location>
Installation using CSI Operator
Full details are in the Installation Guide.
The CSI operator can be deployed either manually or using OLM(Operator Lifecycle Manager).
– For OLM based deployment, review details in the Operator documentation
– For manual deployment, use the following procedure:
1. Clone the repository from the URL – github.com/dell/csi-operator to pull the latest release
2. Deploy operator by filling in operator.yaml and running scripts/install.sh
3. Create a Kubernetes secret – “vxflexos-creds” – with your VxFlex username and password.
– Create secret in test-vxflexos namespace
4. Use the specific vxflex_ manifest for your environment to create the driver manifest
– In case of manual install of CSI Operator, it will be present in the csi-operator/deploy/crds/ folder
5. Edit the mandatory parameters in the driver manifest, process/variables are the same as the documentation.
Deploy the driver using the manifest in the chosen namespace
– In case of manual install run – `kubectl create –f <manifest.yaml>
The driver manifest can also be used to deploy storage classes and snapshot classes.
Once the driver is deployed successfully, you will see the same statefulset and daemonset
containing the driver pods.
Driver upgrade
• Upgrade from 1.1.5 to 1.2
– For a Helm-based installation: Run the csi-install.sh script with the same required arguments, along with a –upgrade argument.
cd ../dell-csi-helm-installer && ../helm/myvalues.yaml –upgrade |
./csi-install.sh –namespace vxflexos –values |
– If using Operator: Update the driver image tag (and any environment variable if required).
– NOTE: You can get latest the CSI Driver for Dell EMC PowerFlex image on Dell EMC Docker Hub
• Upgrade from 1.1.4 or earlier to 1.2
– Uninstall driver, checkout latest code (1.2), install driver (be sure to update image in myvalues/driverimage.yaml)
Installation Verification
• In order to verify the installation, run the following:
kubectl get pods -n vxflexos
NAME READY STATUS RESTARTS AGE
vxflexos-controller-0 5/5 Running 0 5d1h
vxflexos-node-dvbhq vxflexos-node-kwdzl |
2/2 Running 0 5d1h 2/2 Running 0 5d1h |
vxflexos-node-q2ln8 2/2 Running 0 5d1h
Note: If operator was used to install, then the command would be:
kubectl get pods -n test-vxflexos
Support Strategy
The following describes the support strategy for CSI Driver for Dell EMC PowerFlex:
-
The CSI Driver for Dell EMC PowerFlex image, which is the built driver code, is available on
https://hub.docker.com/r/dellemc/csi-vxflexos and is officially supported by Dell EMC.
-
The source code available on Github https://github.com/dell/csi-powerstore
is unsupported and provided solely under the terms of the license attached to the source code. For clarity, Dell EMC does not provide support for any source code modifications.
-
- A Dell EMC Storage Automation and Developer Resources page is available and includes developer resources, case studies, forums, and other materials. It is anticipated that members of this page will be excellent resources in addressing product issues and concerns. It is recommended this community page be the first page customers use for their product questions prior to contacting Dell EMC Support. For any setup, configuration issues, questions or feedback, join the Dell EMC Container community at
Dell EMC Storage Automation and Developer Resources
- A Dell EMC Storage Automation and Developer Resources page is available and includes developer resources, case studies, forums, and other materials. It is anticipated that members of this page will be excellent resources in addressing product issues and concerns. It is recommended this community page be the first page customers use for their product questions prior to contacting Dell EMC Support. For any setup, configuration issues, questions or feedback, join the Dell EMC Container community at
Documentation and Downloads
CSI Driver for Dell EMC PowerFlex v1.2 downloads and documentation are available on:
Github: https://github.com/dell/csi-vxflexos
PowerStore CSI 1.1
Product Description
The CSI Driver for Dell EMC PowerStore is a plug-in that is installed into Kubernetes to provide persistent storage provisioning for Dell EMC PowerStore storage arrays.
The CSI Driver for Dell EMC PowerStore and Kubernetes communicate using the Container Storage Interface protocol. The CSI Driver for Dell EMC PowerStore conforms to CSI specification v1.1.
This release of the CSI Driver for Dell EMC PowerStore supports Kubernetes versions 1.17, 1.18, and 1.19, and OpenShift versions 4.3 and 4.4.
Services Design, Technology, & Supportability Improvements
The CSI Driver for Dell EMC PowerStore supports the following new features:
-
OpenShift 4.3 and 4.4 with Red Hat Enterprise Linux CoreOS and Red Hat Enterprise Linux 7.8
-
NFS volumes. Since v1.1, the CSI PowerStore driver supports ability to use PowerStore NFS filesystems as Persistent Volumes (PVs) You need to have NAS Server created and configured on PowerStore array
• Name of NAS Server should be provided in myvalues.yaml file
• When provisioning NFS PV CSI Driver will create filesystem and NFS export for that
filesystem
• IP of the node is added to NodeID for configuring Host Access of NFS exports
-
Dell EMC Storage CSI Operator deployment
-
ONLINE and OFFLINE volume expansion
-
Raw Block Volumes
- Support For Volume Snapshots
• Since v1.1, the CSI PowerStore driver supports creation of VolumeSnapshots
• When a VolumeSnapshot is created in Kubernetes, the driver creates a corresponding
Volume or Filesystem snapshot on storage array
• This VolumeSnapshot can be used as a source for creating volumes
(VolumeContentSource).
NOTE:
You can’t delete PersistentVolume that has snapshots, CSI Driver will return
FAILED_PRECONDITION on DeleteVolume request. You need to delete snapshots before deleting volume. - Support For Volume Expansion
• Since v1.1, the CSI PowerStore driver supports the expansion of Persistent Volumes
• This expansion is could be done either online (i.e. when PVC is attached to a node) or offline
(i.e. when PVC is not attached to any node).
• In order to use this feature, the storage class used to create the PVC needs to have the attribute allowVolumeExpansion set to true
NOTE:
Kubernetes Volume Expansion feature can only be used to increase the size of the volume and can’t be used to shrink a volume - Support For Raw Block Volumes
• Since v1.1, the CSI PowerStore driver supports Raw Block Persistent Volumes
• You can create Raw Block PV by creating Persistent Volume Claim with volumeMode set to Block
• Raw Block volumes are presented as a block device to the pod by using a bind mount to a block device in the node’s file system
• Allowable access modes are ReadWriteOnce, ReadWriteMany - Support For Volume Cloning
• Since v1.1, the CSI PowerStore driver supports cloning of PersistentVolumes
• A “dataSource” can be provided in the PersistentVolumeClaimspecification containing the
name of the PVC which has to be cloned
• Cloning is only supported in the same namespace and within the same storage class (and same volumeMode)
• Only available for dynamic provisioning
• CSI Driver creates temporary new volume on storage array for the creation of clones -
Persistent volume (PV) capabilities:
○ Create from Snapshot
○ Create from Volume
○ Resize
-
Access Modes:
○ For block volumes mounted with a filesystem:
-
SINGLE_NODE_WRITER
-
SINGLE_NODE_READER_ONLY
○ For raw block volumes and NFS volumes:
-
SINGLE_NODE_WRITER
-
MULTI_NODE_MULTI_WRITER
-
This section contains CSI Driver for Dell EMC PowerStore features that changed for version 1.1:
-
Supports Kubernetes version 1.17, 1.18, and 1.19
-
Supports CentOS versions 7.6, 7.7, and 7.8 as host operating system
-
Supports Red Hat Enterprise Linux 7.6, 7.7, and 7.8 as host operating system
Support Strategy
The following describes the support strategy for CSI Driver for Dell EMC PowerStore:
-
The CSI Driver for Dell EMC PowerStore image, which is the built driver code, is available on
https://hub.docker.com/r/dellemc/csi-powerstore
and is officially supported by Dell EMC.
-
The source code available on Github https://github.com/dell/csi-powerstore
is unsupported and provided solely under the terms of the license attached to the source code. For clarity, Dell EMC does not provide support for any source code modifications.
-
- A Dell EMC Storage Automation and Developer Resources page is available and includes developer resources, case studies, forums, and other materials. It is anticipated that members of this page will be excellent resources in addressing product issues and concerns. It is recommended this community page be the first page customers use for their product questions prior to contacting Dell EMC Support. For any setup, configuration issues, questions or feedback, join the Dell EMC Container community at
Dell EMC Storage Automation and Developer Resources
.
- A Dell EMC Storage Automation and Developer Resources page is available and includes developer resources, case studies, forums, and other materials. It is anticipated that members of this page will be excellent resources in addressing product issues and concerns. It is recommended this community page be the first page customers use for their product questions prior to contacting Dell EMC Support. For any setup, configuration issues, questions or feedback, join the Dell EMC Container community at
Documentation and Downloads
CSI Driver for Dell EMC PowerStore v1.1 downloads and documentation are available on:
Github: https://github.com/dell/csi-powerstore
Unity CSI 1.3
Product Description
The CSI Driver for Dell EMC Unity is a plug-in that is installed into Kubernetes to provide persistent storage using Dell EMC Unity storage systems.
The CSI Driver adheres to the Container Storage Interface (CSI) specification version 1.1. It is compatible with Kubernetes versions 1.17, 1.18, and 1.19 running within a host operating system of Red Hat Enterprise Linux (RHEL) 7.6, 7.7, and 7.8 or CentOS 7.6, 7.7, and 7.8. It is also compatible with OpenShift 4.3/4.4 with Red Hat Enterprise Linux CoreOS and Red Hat Enterprise Linux 7.6.
Services Design, Technology, & Supportability Improvements
The driver includes the following new features in this CSI Driver for Dell EMC Unity v1.3 release:
● Supports OpenShift 4.3 and 4.4 with Red Hat Enterprise Linux CoreOS and Red Hat Enterprise Linux 7.6
● Supports Docker EE 3.1
● Supports snapshot ingestion
● Supports (Online) Volume Expansion using the external-resizer sidecar container Changed Features
This section contains CSI Driver for Dell EMC Unity features that changed for version 1.3:
● Supports Red Hat Enterprise Linux 7.6, 7.7, and 7.8 host operating system
● Supports CentOS 7.6, 7.7, and 7.8 host operating system
● Supports Kubernetes version 1.17, 1.18, and 1.19
● Supports creation of a volume from a snapshot for FC, iSCSI, and NFS protocols
● Volume Snapshots feature in Kubernetes has moved to Beta in Kubernetes version 1.17
● Persistent Volume (PV) capabilities:
○ Delete
○ Create from Snapshot
○ Create
○ Create from Volume
○ Resize
● Snapshot Capabilities for NFS:
○ Delete
For further information, review the release notes on: https://github.com/dell/csi-unity.
Support Strategy
The following describes the support strategy for CSI Driver for Dell EMC Unity:
-
The CSI Driver for Dell EMC Unity image, which is the built driver code, is available on
https://hub.docker.com/u/dellemc
and is officially supported by Dell EMC.
-
- The source code available on Github https://github.com/dell/csi-unity
is unsupported and Dell EMC does not provide support for any source code modifications. - A Dell EMC Storage Automation and Developer Resources page is available and includes developer resources, case studies, forums, and other materials. It is anticipated that members of this page will be excellent resources in addressing product issues and concerns. It is recommended this community page be the first page customers use for their product questions prior to contacting Dell EMC Support. For any setup, configuration issues, questions or feedback, join the Dell EMC Container community at
Dell EMC Storage Automation and Developer Resources
- The source code available on Github https://github.com/dell/csi-unity
Documentation and Downloads
CSI Driver for Dell EMC Unity v1.3 downloads and documentation are available on:
Github: https://github.com/dell/csi-unity
PowerScale CSI 1.3
- Qualified OpenShift 4.4
- Qualified Kubernetes v1.17, v1.18, v1.19
- Volume Cloning
- CoreOS support
Software Support:
- Docker EE 3.1 Support
- Qualified with OneFS 8.1, 8.2 and 9.0
- Supports RHEL 7.6, 7.7
GitHub – dell/csi-powerscale: CSI Driver for Dell EMC Isilon