The CSI Driver for Dell EMC PowerFlex is a plug-in that is installed in Kubernetes to provide persistent storage, using PowerFlex. In addition to our Kubernetes environment, we also need a CSI Driver for Dell EMC PowerFlex to complete the automation process. CSI plug-ins are a Kubernetes-defined standard that Dell Technologies and others use to expose block and file storage to container orchestration systems. CSI plug-ins unify storage management across many container orchestration systems, including Mesos, Docker Swarm, and Kubernetes.
Helm charts initiate the installation of the CSI driver. The Helm chart uses a shell script to install the CSI Driver for Dell EMC PowerFlex. This script installs the CSI driver container image and the required Kubernetes sidecar containers.
To configure the CSI Driver for Dell EMC PowerFlex:
Then complete the following tasks (defined in detail in the following sections) for configuring the CSI Driver:
Enable the required Kubernetes feature gates before installing the CSI Driver for Dell EMC PowerFlex. In this case, we enable the VolumeSnapshotDataSource feature gate as shown in the steps below:
Append the following line to the kube-apiserver.yaml file
Append following line to the kube-controller-manager.yaml file:
Append the following line to the kube-scheduler.yaml file:
Environment="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf --feature-gates=VolumeSnapshotDataSource=true"
systemctl restart kubelet
Configure the mount propagation in Docker on all Kubernetes nodes before installing the CSI driver. Mount propagation volumes mounted by a Container to be shared with other Containers in the same Pod, or even to other Pods on the same node.
systemctl restart docker
Helm is a package manager. A companion server component called Tiller runs on your Kubernetes cluster, listens for commands from Helm, and handles the configuration and deployment of software releases on the cluster. Find details on Helm and Tiller in Getting Started with Helm/Tiller in Kubernetes. Once you have successfully installed the Helm Client and Tiller, you can use Helm to manage the charts described in Step 4: Configure the CSI driver for Dell EMC .
The curl tool fetches a given URL from the command line in order to save a web file to the local client, or pipe it to another program. Use curl as shown below to install the Helm and Tiller package managers on the master node:
curl https://raw.githubusercontent.com/helm/helm/master/scripts/get > get_helm.sh
chmod 700 get_helm.sh
- kind: ServiceAccount
kubectl create -f rbac-config.yaml
# helm init --upgrade --service-account tiller
To install the PowerFlex Storage Data Client (SDC) on all Kubernetes nodes, follow these steps:
#rpm -iv ./EMC-ScaleIO-sdc-3.0-1000.208.el7.x86_64.rpm
The CSI Driver for Dell EMC PowerFlex facilitates Use Case 2 by providing the following features:
To install CSI the Driver for Dell EMC PowerFlex, follow these steps:
# git clone https://github.com/dell/csi-vxflexos
#kubectl create namespace vxflexos
# set username to the base64 encoded username
# set password to the base64 encoded password