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

    Capture
  • 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 topologyCapture

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:

    • 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

 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:

    • 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

      .

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:

○ Create

○ 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 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

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

Dell-EMC-PowerScale

  • 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

Leave a Reply