GitHub - weka/csi-wekafs: WekaFS Container Storage Interface (CSI) Plugin (original) (raw)
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.6.0"
CSI driver version
images.livenessprobesidecar
string
"registry.k8s.io/sig-storage/livenessprobe:v2.15.0"
CSI liveness probe sidecar image URL
images.attachersidecar
string
"registry.k8s.io/sig-storage/csi-attacher:v4.8.0"
CSI attacher sidecar image URL
images.provisionersidecar
string
"registry.k8s.io/sig-storage/csi-provisioner:v5.1.0"
CSI provisioner sidecar image URL
images.registrarsidecar
string
"registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.13.0"
CSI registrar sidercar
images.resizersidecar
string
"registry.k8s.io/sig-storage/csi-resizer:v1.13.1"
CSI resizer sidecar image URL
images.snapshottersidecar
string
"registry.k8s.io/sig-storage/csi-snapshotter:v8.2.0"
CSI snapshotter sidecar image URL
images.nodeinfo
string
"quay.io/weka.io/csi-wekafs"
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.6.0"
CSI driver tag
imagePullSecret
string
""
image pull secret required for image download. Must have permissions to access all images above. Should be used in case of private registry that requires authentication
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 This nodeselector will be applied to all CSI plugin components
affinity
object
{}
Optional affinity for CSI plugin deployment This affinity will be applied to all CSI plugin components
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
controller.configureAttacherLeaderElection
bool
true
Configure attacher sidecar for leader election
controller.nodeSelector
object
{}
optional nodeSelector for controller components only
controller.affinity
object
{}
optional affinity for controller components only
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)
node.nodeSelector
object
{}
optional nodeSelector for node components only
node.affinity
object
{}
optional affinity for node components only
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.controllerPort
int
9090
Metrics port for Controller Server
metrics.provisionerPort
int
9091
Provisioner metrics port
metrics.resizerPort
int
9092
Resizer metrics port
metrics.snapshotterPort
int
9093
Snapshotter metrics port
metrics.nodePort
int
9094
Metrics port for Node Serer
metrics.attacherPort
int
9095
Attacher metrics port
hostNetwork
bool
false
Set to true to use host networking. Will be always set to true when using NFS mount protocol
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"
pluginConfig.mutuallyExclusiveMountOptions[1]
string
"sync,async"
pluginConfig.mutuallyExclusiveMountOptions[2]
string
"ro,rw"
pluginConfig.mountProtocol.useNfs
bool
false
Use NFS transport for mounting Weka filesystems, off by default
pluginConfig.mountProtocol.allowNfsFailback
bool
false
Allow Failback to NFS transport if Weka client fails to mount filesystem using native protocol
pluginConfig.mountProtocol.interfaceGroupName
string
""
Specify name of NFS interface group to use for mounting Weka filesystems. If not set, first NFS interface group will be used
pluginConfig.mountProtocol.clientGroupName
string
""
Specify existing client group name for NFS configuration. If not set, "WekaCSIPluginClients" group will be created
pluginConfig.mountProtocol.nfsProtocolVersion
string
"4.1"
Specify NFS protocol version to use for mounting Weka filesystems. Default is "4.1", consult Weka documentation for supported versions
pluginConfig.skipGarbageCollection
bool
false
Skip garbage collection of deleted directory-backed volume contents and only move them to trash. Default false