0% found this document useful (0 votes)
22 views38 pages

CSI Driver For Dell EMC PowerScale - 1 - 4

Uploaded by

604597
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views38 pages

CSI Driver For Dell EMC PowerScale - 1 - 4

Uploaded by

604597
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 38

CSI Driver for Dell EMC

PowerScale
v1.4
CSI Plugin Components
Controller Service Node Service Identity Service

• CreateVolume • NodeStageVolume • GetPluginInfo


• DeleteVolume • NodeUnstageVolume
• ListVolumes • GetPluginCapabilities
• ControllerExpandVolume • NodePublishVolume
• NodeUnpublishVolume • Probe(ProbeRequest)
• ControllerPublishVolume
• ControllerUnpublishVolume • NodeGetVolumeStats
• ValidateVolumeCapabilities
• GetCapacity • NodeGetInfo
• NodeGetCapabilities
• CreateSnapshot
• DeleteSnapshot
• ListSnapshots

• ControllerGetCapabilities

Internal
2 Use©- Copyright
Confidential
2019 Dell Inc.
CSI PowerScale driver architecture

Kubernetes Controller Node Node

CSI Driver for PowerScale

GoCSI Framework
NFSv3/v4
CSI Controller CSI Node
Helm charts/ Plugin Plugin
Operator for REST API
installation
/ SSH
Go library for PowerScale PowerScale

Internal
3 Use©- Copyright
Confidential
2019 Dell Inc.
New features supported in CSI PowerScale v1.4
1. Topology
2. Controller HA
3. Enhancements to volume creation from data source
4. CSI Ephemeral Inline volumes
5. Mount Options
6. Openshift 4.6 support
7. Docker EE 3.1 new support (UCP with k8s 1.18)
8. Support for Ubuntu 20.0.4

Internal
4 Use©- Copyright
Confidential
2019 Dell Inc.
CSI Driver For Dell EMC PowerScale 1.4 Support Matrix
Capability Supported Not supported

Provisioning Static and dynamic provisioning of volumes,


Volume expansion, Create volume from
snapshots, Volume Cloning, CSI Ephemeral
Inline Volumes
Export, Mount Mount volume as file system, Topology, Mount Raw volumes
Options
Data protection Creation of snapshots

Installer Helm3, Dell CSI Operator (for OpenShift Helm2


platform)
Access mode SINGLE_NODE_WRITER ,
MULTI_NODE_READER_ONLY ,
MULTI_NODE_MULTI_WRITER
Kubernetes v1.17, v1.18, v1.19 v1.16 or previous versions,
v1.20 or higher versions
OS RHEL 7.x, CentOS 7.x, Ubuntu 20.0.4 Other OSs
Isilon OneFS 8.1, 8.2 ,9.0 and 9.1 Previous versions
Protocol NFS SMB, CIFS
OpenShift 4.4, 4.5, 4.6
Docker EE 3.1
*CoreOS worker nodes are only supported with RedHat OpenShift platform.
Internal
5 Use©- Copyright
Confidential
2019 Dell Inc.
Topology for CSI Driver
PowerScale
Problem Statement
As of our last release 1.3, we assume that all worker nodes have access to
PowerScale cluster, this assumption is incorrect, as there might be worker nodes
which are not connected to PowerScale cluster.
Pods should always be scheduled on workers nodes which are connected to
PowerScale cluster.

Internal
7 Use©- Copyright
Confidential
2019 Dell Inc.
Solution
• Using topology feature of Kubernetes, we have addressed this problem
statement.
• As part of CSI Driver NodeGetInfo, we check connectivity with backend
PowerScale cluster, and if connection is successful, we return labels as part of
NodeGetInfoResponse.

Internal
8 Use©- Copyright
Confidential
2019 Dell Inc.
Default Storage Class
[

Internal
9 Use©- Copyright
Confidential
2019 Dell Inc.
Problem Statement
One of our customer has a requirement, where node pod on worker nodes should
be initialized with PowerScale IP, that is applied on worker node as a label.

Internal
10 Use©- Copyright
Confidential
2019 Dell Inc.
Solution
• We have added a new variable as part of our config file enableCustomTopology
• When “enableCustomTopology” is set to “true”, CSI driver fetches custom
labels“csi-isilon.dellemc.com/XX.XX.XX.XX” applied on worker nodes, and use
them to initialize node pod with custom PowerScale FQDN/IP.

• Limitations:
– The credentials for every PowerScale cluster need to be identical
– One node can only access one PowerScale cluster

Internal
11 Use©- Copyright
Confidential
2019 Dell Inc.
Q&A

Internal
12 Use©- Copyright
Confidential
2019 Dell Inc.
Controller HA and Kubernetes
Sidecars
CSI Controller HA
• CSI Driver Controller Redundancy

• Deployment with multiple replicas

• Leader election enabled

• Specify the number of csi-powerscale controller pods to deploy using


“controllerCount” attribute in values.yaml

• Good to have controllerCount not to exceed the total number of nodes in the cluster

• Minimum recommended value for controllerCount is 2

• Define nodeSelector for the controllers using controller.nodeSelector attribute in


values.yaml

• Define tolerations for the controllers through controller.tolerations section in


values.yaml

Internal
14 Use©- Copyright
Confidential
2019 Dell Inc.
Kubernetes Support:
• K8s 1.17, k8s 1.18 and k8s 1.19

• No feature gate needs to be set explicitly

• Sidecars used:
Sidecar Version

external-attacher 3.0.0

external-provisioner 2.0.2

external-snapshotter 3.0.0

node-driver-registrar 2.0.1

external-resizer 1.0.0

Internal
15 Use©- Copyright
Confidential
2019 Dell Inc.
Enhancements to volume creation
from data source
Enhancements:
• Volume(RW) creation from snapshot and from another volume
• Preserves file ownerships
• Uses ssh for data copy
• ssh port needs to be enabled
• Requires ISI_PRIV_LOGIN_SSH privilege for user

• Volume(RO) creation from snapshot


• preserves file ownership
• faster creation time

Internal
17 Use©- Copyright
Confidential
2019 Dell Inc.
Q&A

Internal
18 Use©- Copyright
Confidential
2019 Dell Inc.
CSI Ephemeral Inline
Volumes
Introduction to CSI Ephemeral Inline volumes

• Volumes provided by an external storage driver in Kubernetes are persistent.


• There are also use cases for data volumes whose content and lifecycle is tied to a
pod.
• Such volumes need to be created together with a pod and can be deleted as part
of pod termination (ephemeral)
• They get defined as part of the pod spec (inline).

Internal
20 Use©- Copyright
Confidential
2019 Dell Inc.
Implementation details

• For ephemeral volumes, only NodePublishVolume is invoked by kubelet when


asking the CSI driver for a volume.
• Only NodeUnpublishVolume gets called after the pod has terminated and the
volume needs to be removed.
• Kubernetes and users can determine which kind of volumes a driver supports via
the volumeLifecycleModes field in the CSIDriver object.

Internal
21 Use©- Copyright
Confidential
2019 Dell Inc.
Sample CSI Ephemeral Inline Volume

Internal
22 Use©- Copyright
Confidential
2019 Dell Inc.
Support for Mount Options

Internal
23 Use©- Copyright
Confidential
2019 Dell Inc.
Introduction

• A Kubernetes administrator can specify additional mount options for when a


Persistent Volume is mounted on a node.

• Mount options are not validated, so mount will simply fail if one is invalid.

Internal
24 Use©- Copyright
Confidential
2019 Dell Inc.
Setting mount options through Storage Class

Internal
25 Use©- Copyright
Confidential
2019 Dell Inc.
Key points

• nfsV3 flag has now been deprecated, use ‘mountOptions’ instead.

Internal
26 Use©- Copyright
Confidential
2019 Dell Inc.
Docker EE 3.1 – Newly supported functionalities

Internal
27 Use©- Copyright
Confidential
2019 Dell Inc.
Docker EE components

• Docker Engine – Enterprise


• Docker Trusted Registry (DTR)
• Universal Control Plane (UCP)

Internal
28 Use©- Copyright
Confidential
2019 Dell Inc.
Choose your own Orchestrator

Internal
29 Use©- Copyright
Confidential
2019 Dell Inc.
Key points

• UCP version 3.3.3 supports kubernetes 1.18


• CSI driver can be installed on UCP 3.1 with Helm
• kubectl isn’t installed by default, needs to be enabled

Internal
30 Use©- Copyright
Confidential
2019 Dell Inc.
OpenShift 4.5 & 4.6 support

Internal
31 Use©- Copyright
Confidential
2019 Dell Inc.
Install using Dell CSI Operator v1.2

• The Dell EMC PowerScale 1.4 can be installed in Openshift 4.5 & 4.6
environments using the Dell CSI Operator v1.2
• Sample files would be provided (isilon_v140_ops_45.yaml,
isilon_v140_ops_46.yaml) to aid end users with the installation process.

Internal
32 Use©- Copyright
Confidential
2019 Dell Inc.
Key points

• Install using dell-csi-operator v1.2


• OpenShift 4.5 comes bundled with k8s 1.18, and OS 4.6 with k8s 1.19
• Worker nodes can be RHEL/CoreOS based

Internal
33 Use©- Copyright
Confidential
2019 Dell Inc.
References

k8s Upstream repo: https://github.com/kubernetes/kubernetes


CSI 1.1 spec: https://kubernetes-csi.github.io/docs/

Internal
34 Use©- Copyright
Confidential
2019 Dell Inc.
Q&A

Internal
35 Use©- Copyright
Confidential
2019 Dell Inc.
Installation

Internal
36 Use©- Copyright
Confidential
2019 Dell Inc.
Driver Installation
• Common installation procedure with dell-csi-helm installer.

Internal
37 Use©- Copyright
Confidential
2019 Dell Inc.
Q&A

Internal
38 Use©- Copyright
Confidential
2019 Dell Inc.

You might also like