Use Harvester with Dell Storage
Fri, 25 Oct 2024 08:29:18 -0000
|Read Time: 0 minutes
Introduction
Dell CSI drivers for PowerStore, PowerMax, PowerFlex, and PowerScale have all been tested and are compatible with Kubevirt.
The following article provides instructions for installing Dell CSI for PowerMax on Harvester. The steps are very similar regardless of the storage backend.
This procedure has been tested on:
- Haverster v1.3.1
- CSM v2.11
- For PowerMax protocols Fiber Channel, iSCSI and NFS
Documentation
To use helm
and kubectl,
let's first download the KUBECONFIG
:
Pre-requisites
Connectivity
The bare-metal nodes need access to the REST API endpoint and the storage network to provision and mount volumes.
When dealing with Fiber Channel, it's imperative that the zoning to the nodes is completed before the installation of the CSI driver.
As part of the installation process, we will need to set a couple of parameters:
- The Unisphere API endpoint and possibly a backup endpoint for PowerMax
- The credentials to access the API
- The storage identifier (SymID for PowerMax)
- The storage pool
Multipathd
Configuring the multipath service is mandatory when using block storage protocols like Fiber Channel, iSCSI, or NVMe.
The CloudInit below sets up:
- multipathd to start on node boot
- multipath.conf to make sure only the EMC LUNs are part of multipathd; not Longhorn volumes.
kubectl apply -f https://raw.githubusercontent.com/dell/iac-storage-automation/main/kubernetes/harvester/multipathd-harvester.yaml
To take effect immediately, you have to either restart the node or ssh it and start the service manually.
Note: If you use iSCSI, you can adapt the sample file to start the iscsid daemon.
Likewise, for NVMe, you must ensure the nvm-auto-connect.service is started.
Namespace & Secret creation
kubectl create namespace powermax
kubectl create secret generic powermax-creds -n powermax --from-literal=username=unisphere_user --from-literal=password=your_password
Helm installation
The simplest way to install Dell CSI & CSM with Helm is to use the Wizard; but first, let's add the repo:
helm repo add dell https://dell.github.io/helm-charts
StorageClass & VolumeSnapshotClass creation
For the StorageClass
creation, you can refer to the samples here. They contain different configurations (with or without replication, different file system types, and more).
Likewise, you can find samples in the GitHub repository for the VolumeSnapshotClass
.
Harvester csi-driver-config
The last step is configuring Harvester csi-driver-config to allow Dell provisioner to take Virtual Machine snapshots.
To do so, go under Advanced > Settings > csi-driver-config > Edit Setting.
In the case of PowerMax the configuration will look like:
{
"driver.longhorn.io": {
"volumeSnapshotClassName": "longhorn-snapshot",
"backupVolumeSnapshotClassName": "longhorn"
},
"csi-powermax.dellemc.com": {
"volumeSnapshotClassName": "powermax-snapclass",
"backupVolumeSnapshotClassName": "powermax-snapclass"
}
}
Conclusion
At the time of the publication, Harvester supports only 3rd party storage for data volume. This will change soon and will allow a full-fledged CSM experience.
In the meantime, you can experiment with Harvester and send you feedback 😉
Sources
Stay informed of the latest updates of Dell CSM eco-system by subscribing to:
* The Dell CSM Github repository
* Our DevOps & Automation Youtube playlist
* The Slack