Introduction¶
Mirantis Kubernetes Engine (MKE) is the successor of the Universal Control Plane part of Docker Enterprise Edition (Docker EE). The HPE CSI Driver for Kubernetes allows users to provision persistent storage for Kubernetes workloads running on MKE. See the note below on Docker Swarm for workloads deployed outside of Kubernetes.
Compatability Chart¶
Mirantis and HPE perform testing and qualification as needed for either release of MKE or the HPE CSI Driver. If there are any deviations in the installation procedures, those will be documented here.
Important
Always ensure the MKE version of the underlying Kubernetes version and worker node host OS conforms to the latest compatability and support table.
| MKE Version | HPE CSI Driver | Status | Installation Notes |
|---|---|---|---|
| 4.x | 2.5.2 to latest | Supported | k0s notes |
| 3.x | 2.5.2 | Supported | Helm chart notes |
Seealso
Ensure to be understood with the limitations and the lack of Docker Swarm support.
k0s and k0rdent Considerations¶
MKE 4.0 onwards is based on the k0s Kubernetes distribution and managed by k0rdent. Depending on how k0s was installed, the kubelet root directory may differ. The HPE CSI Driver for Kubernetes Helm chart needs the the correct path passed to the chart with the kubeletRootDir parameter.
- If the clusters are deployed with
mkectl, use--set kubeletRootDir=/var/lib/k0s/kubelet - If upstream k0s is deployed standalone, use
--set kubeletRootDir=/varlib/k0s/kubelet
Unless there are any special circumstances it's recommended to deploy the CSI driver through the k0rdent catalog as a MultiClusterService from a ServiceTemplate.
- Visit the HPE CSI Driver for Kubernetes in the k0rdent catalog.
If there are special needs, proceed to the Helm Chart Install.
Note
Both k0rdent ServiceTemplate and Helm chart install are supported by HPE.
Helm Chart Install¶
With MKE 3.6 and 3.9, it's recommend to use the HPE CSI Driver for Kubernetes Helm chart. There are no known caveats or workarounds at this time.
- HPE CSI Driver for Kubernetes Helm chart on ArtifactHub.
NFS Server Provisioner on MKE 3.9 and earlier¶
In order to allow the HPE CSI Driver to deploy privileged NFS servers in the default NFS Namespace of "hpe-nfs", the MKE configuration file needs to be updated with the following configuration directly inside the [cluster_config] stanza:
[cluster_config]
priv_attributes_allowed_for_service_accounts = ["kernelCapabilities", "privileged"]
priv_attributes_service_accounts = ["hpe-nfs:hpe-csi-nfs-sa"]
Configuring a StorageClass with .parameters.nfsNamespace: csi.storage.k8s.io/pvc/namespace or any custom Namespace would require all ServiceAccounts to be enumerated in "priv_attributes_service_accounts" above.
How do I update the MKE configuration file?
Updating the MKE configuration file requires administrative privileges and access to the control plane. See the Mirantis documentation for more details.
Versions prior to MKE 3.6 are untested but are supported if the NFS servers come up.
Docker Swarm¶
Provisioning Docker Volumes for Docker Swarm workloads from a HPE primary storage backend is deprecated.
Limitations¶
- HPE CSI Driver does not support Windows workers.