rancher-partner-charts/charts/weka/csi-wekafsplugin/README.md

5.1 KiB

CSI WekaFS Driver

License Artifact HUB

This repository hosts the CSI WekaFS driver and all of its build and dependent configuration files to deploy the driver.

Pre-requisite

  • Kubernetes cluster of version 1.18 and up, 1.19 and up recommended
  • Helm v3 must be installed and configured properly
  • Weka system pre-configured and Weka client installed and registered in cluster for each Kubernetes node

Deployment

helm repo add csi-wekafs https://weka.github.io/csi-wekafs
helm install csi-wekafsplugin csi-wekafs/csi-wekafsplugin --namespace csi-wekafsplugin --create-namespace [--set selinuxSupport=<off | mixed | enforced>]

NOTE: Since version 0.8.0, Weka CSI plugin supports installation on SELinux-enabled Kubernetes clusters Refer to SELinux Support & Installation Notes for additional information

NOTE: Since version 0.7.0, Weka CSI plugin transitions to API-based deployment model which requires API connectivity and credentials parameters to be set in Storage Class.

Kubernetes does not allow storage class modification for existing volumes, hence the recommended upgrade process is re-deploying new persistent volumes based on new storage class format.

However, for sake of more convenient migration, a legacySecretName parameter can be set that will bind existing legacy volumes to a Weka cluster API and allow volume expansion.

For further information, refer Official Weka CSI Plugin documentation

Usage

Additional Documentation

Values

Key Type Default Description
dynamicProvisionPath string "csi-volumes" Directory in root of file system where dynamic volumes are provisioned
csiDriverName string "csi.weka.io" Name of the driver (and provisioner)
csiDriverVersion string "0.8.4" CSI driver version
images.livenessprobesidecar string "k8s.gcr.io/sig-storage/livenessprobe:v2.6.0" CSI liveness probe sidecar image URL
images.attachersidecar string "k8s.gcr.io/sig-storage/csi-attacher:v3.4.0" CSI attacher sidecar image URL
images.provisionersidecar string "k8s.gcr.io/sig-storage/csi-provisioner:v3.1.0" CSI provisioner sidecar image URL
images.registrarsidecar string "k8s.gcr.io/sig-storage/csi-node-driver-registrar:v2.5.0" CSI registrar sidercar
images.resizersidecar string "k8s.gcr.io/sig-storage/csi-resizer:v1.4.0" CSI provisioner sidecar image URL
images.csidriver string "quay.io/weka.io/csi-wekafs" CSI driver main image URL
images.csidriverTag string "0.8.4" CSI driver tag
globalPluginTolerations list [{"effect":"NoSchedule","key":"node-role.kubernetes.io/master","operator":"Exists"}] Tolerations for all CSI driver components
controllerPluginTolerations list [{"effect":"NoSchedule","key":"node-role.kubernetes.io/master","operator":"Exists"}] Tolerations for CSI controller component only (by default same as global)
nodePluginTolerations list [{"effect":"NoSchedule","key":"node-role.kubernetes.io/master","operator":"Exists"}] Tolerations for CSI node component only (by default same as global)
nodeSelector object {} Optional nodeSelector for CSI plugin deployment on certain Kubernetes nodes only
logLevel int 5 Log level of CSI plugin
legacyVolumeSecretName string "" for migration of pre-CSI 0.7.0 volumes only, default API secret. Must reside in same namespace as the plugin
priorityClassName string "" Optional CSI Plugin priorityClassName
selinuxSupport string "off" Support SELinux labeling for Persistent Volumes, may be either off, mixed, enforced (default off) In enforced mode, CSI node components will only start on nodes having a label selinuxNodeLabel below In mixed mode, separate CSI node components will be installed on SELinux-enabled and regular hosts In off mode, only non-SELinux-enabled node components will be run on hosts without label. WARNING: if SELinux is not enabled, volume provisioning and publishing might fail!
selinuxNodeLabel string "csi.weka.io/selinux_enabled" This label must be set to "true" on SELinux-enabled Kubernetes nodes, e.g., to run the node server in secure mode on SELinux-enabled node, the node must have label csi.weka.io/selinux_enabled="true"
kubeletPath string "/var/lib/kubelet" kubelet path, in cases Kubernetes is installed not in default folder