Helm chart for Deployment of WekaIO Container Storage Interface (CSI) plugin for WekaFS - the world fastest filesystem
https://github.com/weka/csi-wekafs
Name | Url | |
---|---|---|
WekaIO, Inc. | csi@weka.io | https://weka.io |
- Kubernetes cluster of version 1.18 or later. Although older versions from 1.13 and up should work, they were not tested
- Access to terminal with
kubectl
installed - Weka system pre-configured and Weka client installed and registered in cluster for each Kubernetes node
- Helm public repo (recommended)
- Helm-based local deployment
If you want to build the driver yourself, you can do so with the following command from the root directory:
make build
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 | "2.4.1" |
CSI driver version |
images.livenessprobesidecar | string | "registry.k8s.io/sig-storage/livenessprobe:v2.12.0" |
CSI liveness probe sidecar image URL |
images.attachersidecar | string | "registry.k8s.io/sig-storage/csi-attacher:v4.5.0" |
CSI attacher sidecar image URL |
images.provisionersidecar | string | "registry.k8s.io/sig-storage/csi-provisioner:v4.0.0" |
CSI provisioner sidecar image URL |
images.registrarsidecar | string | "registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.10.0" |
CSI registrar sidercar |
images.resizersidecar | string | "registry.k8s.io/sig-storage/csi-resizer:v1.9.3" |
CSI resizer sidecar image URL |
images.snapshottersidecar | string | "registry.k8s.io/sig-storage/csi-snapshotter:v6.3.3" |
CSI snapshotter sidecar image URL |
images.nodeinfo | string | "quay.io/weka.io/kubectl-sidecar:v1.29.2-1" |
CSI nodeinfo sidecar image URL, used for reading node metadata |
images.csidriver | string | "quay.io/weka.io/csi-wekafs" |
CSI driver main image URL |
images.csidriverTag | string | "2.4.1" |
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 |
machineConfigLabels | list | ["worker","master"] |
Optional setting for OCP platform only, which machineconfig pools to apply the Weka SELinux policy on NOTE: by default, the policy will be installed both on workers and control plane nodes |
controller.replicas | int | 2 |
Controller number of replicas |
controller.maxConcurrentRequests | int | 5 |
Maximum concurrent requests from sidecars (global) |
controller.concurrency | object | {"createSnapshot":5,"createVolume":5,"deleteSnapshot":5,"deleteVolume":5,"expandVolume":5} |
maximum concurrent operations per operation type |
controller.grpcRequestTimeoutSeconds | int | 30 |
Return GRPC Unavailable if request waits in queue for that long time (seconds) |
controller.configureProvisionerLeaderElection | bool | true |
Configure provisioner sidecar for leader election |
controller.configureResizerLeaderElection | bool | true |
Configure resizer sidecar for leader election |
controller.configureSnapshotterLeaderElection | bool | true |
Configure snapshotter sidecar for leader election |
node.maxConcurrentRequests | int | 5 |
Maximum concurrent requests from sidecars (global) |
node.concurrency | object | {"nodePublishVolume":5,"nodeUnpublishVolume":5} |
maximum concurrent operations per operation type (to avoid API starvation) |
node.grpcRequestTimeoutSeconds | int | 30 |
Return GRPC Unavailable if request waits in queue for that long time (seconds) |
logLevel | int | 5 |
Log level of CSI plugin |
useJsonLogging | bool | false |
Use JSON structured logging instead of human-readable logging format (for exporting logs to structured log parser) |
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! NOTE: SELinux support is enabled automatically on clusters recognized as RedHat OpenShift Container Platform |
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 |
metrics.enabled | bool | true |
Enable Prometheus Metrics |
metrics.port | int | 9090 |
Metrics port |
metrics.provisionerPort | int | 9091 |
Provisioner metrics port |
metrics.resizerPort | int | 9092 |
Resizer metrics port |
metrics.snapshotterPort | int | 9093 |
Snapshotter metrics port |
hostNetwork | bool | false |
Set to true to use host networking |
pluginConfig.fsGroupPolicy | string | "File" |
WARNING: Changing this value might require uninstall and re-install of the plugin |
pluginConfig.allowInsecureHttps | bool | false |
Allow insecure HTTPS (skip TLS certificate verification) |
pluginConfig.objectNaming.volumePrefix | string | "csivol-" |
Prefix that will be added to names of Weka cluster filesystems / snapshots assocciated with CSI volume, must not exceed 7 symbols. |
pluginConfig.objectNaming.snapshotPrefix | string | "csisnp-" |
Prefix that will be added to names of Weka cluster snapshots assocciated with CSI snapshot, must not exceed 7 symbols. |
pluginConfig.objectNaming.seedSnapshotPrefix | string | "csisnp-seed-" |
Prefix that will be added to automatically created "seed" snapshot of empty filesytem, must not exceed 12 symbols. |
pluginConfig.allowedOperations.autoCreateFilesystems | bool | true |
Allow automatic provisioning of CSI volumes based on distinct Weka filesystem |
pluginConfig.allowedOperations.autoExpandFilesystems | bool | true |
Allow automatic expansion of filesystem on which Weka snapshot-backed CSI volumes, e.g. in case a required volume capacity exceeds the size of filesystem. Note: the filesystem is not expanded automatically when a new directory-backed volume is provisioned |
pluginConfig.allowedOperations.snapshotDirectoryVolumes | bool | false |
Create snapshots of legacy (dir/v1) volumes. By default disabled. Note: when enabled, for every legacy volume snapshot, a full filesystem snapshot will be created (wasteful) |
pluginConfig.allowedOperations.snapshotVolumesWithoutQuotaEnforcement | bool | false |
Allow creation of snapshot-backed volumes even on unsupported Weka cluster versions, off by default Note: On versions of Weka < v4.2 snapshot-backed volume capacity cannot be enforced |
pluginConfig.mutuallyExclusiveMountOptions[0] | string | "readcache,writecache,coherent,forcedirect" |
Autogenerated from chart metadata using helm-docs v1.14.2