The HPE FlexVolume Driver for Kubernetes leverages HPE storage platforms to provide scalable and persistent storage for stateful applications. This chart also deploys the HPE Dynamic Provisioner for Kubernetes.
- Upstream Kubernetes version 1.11 or later
- Other Kubernetes distributions supported
- Rancher 2.x
- OpenShift 3.10, 3.11 (4.x will not be supported, see CSI Driver Helm chart
- More distributions will be listed as tests are ongoing
- Recent Ubuntu, CentOS or RHEL compute nodes connected to their respective official package repositories
Depending on which pluginType
is being used, other prerequisites and requirements may apply.
- NimbleOS 5.0.8 or later
- NimbleOS 5.1.3 or later
The following table lists the configurable parameters of the HPE FlexVolume Driver chart and their default values.
Parameter | Description | Default |
---|---|---|
backend | HPE storage platform API endpoint. | 192.168.1.1 |
pluginType | Backend plugin type to use. Currently only nimble is supported. |
nimble |
username | Username for the backend. | admin |
password | Password for the backend. | admin |
protocol | Data plane protocol (fc , iscsi ). |
iscsi |
fsType | Type of file to format volumes with (ext4, ext3, xfs, btrfs). | xfs |
mountConflictDelay | Wait this long (in seconds) before forcefully taking over a volume from an isolated or crashed node. | 150 |
flavor | Kubernetes distribution specific tweaks. Supported flavors include rancher and openshift . |
kubernetes |
podsMountDir | This is the directory where the kubelet bind mounts the volume for pods. May differ between Kubernetes distributions. | /var/lib/kubelet/pods |
flexVolumeExec | This is the path where the FlexVolume binary gets installed on the host. | default |
storageClass.name | The name to assign the created StorageClass. | hpe-standard |
storageClass.create | Enables creation of StorageClass to consume this hpe-flexvolume-driver instance. | true |
storageClass.defaultClass | Whether to set the created StorageClass as the clusters default StorageClass. | false |
It's recommended to create a values.yaml file and edit it to fit the environment the chart is being deployed to. Download and edit the sample file.
Certain distributions demand certain tweaks to the variables for the driver and dynamic provisioner to operate correctly. See each platform for details.
This is the default operating mode, no tweaks are needed.
Applicable to Red Hat OpenShift 3.10 and 3.11. 4.x is not supported.
Key | Value | Description |
---|---|---|
podsMountDir | /var/lib/origin/openshift.local.volumes | This is the directory where the kubelet bind mounts the volume for pods. |
Applicable to installing the Helm Chart via the Rancher catalog system.
Key | Value | Description |
---|---|---|
flavor | rancher | Required and prepopulated by default. |
podsMountDir | /var/lib/kubelet/volumeplugins | This is the directory where the kubelet bind mounts the volume for pods. Required and prepopulated by default. |
To install the chart with the name hpe-flexvolume
:
helm repo add hpe https://hpe-storage.github.io/co-deployments
helm install -f myvalues.yml --name hpe-flexvolume hpe/hpe-flexvolume-driver --namespace kube-system
Note: Omitting the --name
flag will generate a human readable name.
To check status of the hpe-flexvolume
deployment:
helm status hpe-flexvolume
To uninstall/delete the hpe-flexvolume
deployment:
helm delete hpe-flexvolume --purge
In some cases it's more practical provide the local configuration via the helm
command directly. Specify each parameter using the --set key=value[,key=value]
argument to helm install
. For example:
helm install --name hpe-flexvolume hpe/hpe-flexvolume-driver \
--set backend=X.X.X.X --set username=admin --set password=xxxxxxxxx \
--set protocol=iscsi --set fsType=xfs --set mountConflictDelay=120
To enable dynamic provisioning of PersistentVolume
through the use of PersistentVolumeClaim
API objects, a StorageClass
needs to be declared on the cluster. Please see the HPE FlexVolume Driver for Kubernetes repository for the official documentation for this Helm chart. Also, it's helpful to be familar with persistent storage concepts in Kubernetes prior to deploying stateful workloads.
The HPE FlexVolume Driver for Kubernetes Helm chart is supported by the respective platform team. Currently supported platforms:
- HPE Nimble Storage
Please file issues through the regular support channels for the particular platform. Feature requests or general questions to developers may be filed through the GitHub issue tracker for this project.
You may also join our Slack community to chat with HPE folks close to this project for inquiries not requring our immediate response. We hang out in #NimbleStorage
and #Kubernetes
at slack.hpedev.io.
We value all feedback and contributions. If you find any issues or want to contribute, please feel free to open an issue or file a PR. More details in CONTRIBUTING.md
This is open source software licensed using the Apache License 2.0. Please see LICENSE for details.