Skip to content

Latest commit

 

History

History
 
 

charts

Install CSI driver with Helm 3

Prerequisites

Tips

  • make controller only run on master node: --set controller.runOnMaster=true
  • set replica of controller as 1: --set controller.replicas=1

install a specific version

helm repo add csi-driver-smb https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/charts
helm install csi-driver-smb csi-driver-smb/csi-driver-smb --namespace kube-system --version v1.5.0

install driver with customized driver name, deployment name

only supported from v1.2.0+

  • following example would install a driver with name smb2
helm install csi-driver-smb2 csi-driver-smb/csi-driver-smb --namespace kube-system --set driver.name="smb2.csi.k8s.io" --set controller.name="csi-smb2-controller" --set rbac.name=smb2 --set serviceAccount.controller=csi-smb2-controller-sa --set serviceAccount.node=csi-smb2-node-sa --set node.name=csi-smb2-node --set node.livenessProbe.healthPort=39643

search for all available chart versions

helm search repo -l csi-driver-smb

uninstall CSI driver

helm uninstall csi-driver-smb -n kube-system

latest chart configuration

The following table lists the configurable parameters of the latest SMB CSI Driver chart and default values.

Parameter Description Default
driver.name alternative driver name smb.csi.k8s.io
feature.enableGetVolumeStats allow GET_VOLUME_STATS on agent node false
image.baseRepo base repository of driver images k8s.gcr.io/sig-storage
image.smb.repository csi-driver-smb docker image mcr.microsoft.com/k8s/csi/smb-csi
image.smb.tag csi-driver-smb docker image tag latest
image.smb.pullPolicy csi-driver-smb image pull policy IfNotPresent
image.csiProvisioner.repository csi-provisioner docker image k8s.gcr.io/sig-storage/csi-provisioner
image.csiProvisioner.tag csi-provisioner docker image tag v3.1.0
image.csiProvisioner.pullPolicy csi-provisioner image pull policy IfNotPresent
image.livenessProbe.repository liveness-probe docker image k8s.gcr.io/sig-storage/livenessprobe
image.livenessProbe.tag liveness-probe docker image tag v2.5.0
image.livenessProbe.pullPolicy liveness-probe image pull policy IfNotPresent
image.nodeDriverRegistrar.repository csi-node-driver-registrar docker image k8s.gcr.io/sig-storage/csi-node-driver-registrar
image.nodeDriverRegistrar.tag csi-node-driver-registrar docker image tag v2.4.0
image.nodeDriverRegistrar.pullPolicy csi-node-driver-registrar image pull policy IfNotPresent
imagePullSecrets Specify docker-registry secret names as an array [] (does not add image pull secrets to deployed pods)
serviceAccount.create whether create service account of csi-smb-controller true
rbac.create whether create rbac of csi-smb-controller true
rbac.name driver name in rbac role true
podAnnotations collection of annotations to add to all the pods {}
podLabels collection of labels to add to all the pods {}
priorityClassName priority class name to be added to pods system-cluster-critical
securityContext security context to be added to pods {}
controller.name name of driver deployment csi-smb-controller
controller.replicas the replicas of csi-smb-controller 2
controller.metricsPort metrics port of csi-smb-controller 29644
controller.livenessProbe.healthPort health check port for liveness probe 29642
controller.logLevel controller driver log level 5
controller.workingMountDir working directory for provisioner to mount smb shares temporarily /tmp
controller.runOnMaster run controller on master node false
node.livenessProbe.healthPort health check port for liveness probe 29643
controller.resources.csiProvisioner.limits.memory csi-provisioner memory limits 100Mi
controller.resources.csiProvisioner.requests.cpu csi-provisioner cpu requests limits 10m
controller.resources.csiProvisioner.requests.memory csi-provisioner memory requests limits 20Mi
controller.resources.livenessProbe.limits.memory liveness-probe memory limits 300Mi
controller.resources.livenessProbe.requests.cpu liveness-probe cpu requests limits 10m
controller.resources.livenessProbe.requests.memory liveness-probe memory requests limits 20Mi
controller.resources.smb.limits.memory smb-csi-driver memory limits 200Mi
controller.resources.smb.requests.cpu smb-csi-driver cpu requests limits 10m
controller.resources.smb.requests.memory smb-csi-driver memory requests limits 20Mi
controller.resources.csiResizer.limits.memory csi-resizer memory limits 300Mi
controller.resources.csiResizer.requests.cpu csi-resizer cpu requests limits 10m
controller.resources.csiResizer.requests.memory csi-resizer memory requests limits 20Mi
controller.affinity controller pod affinity {}
controller.nodeSelector controller pod node selector {}
controller.tolerations controller pod tolerations []
node.maxUnavailable maxUnavailable value of csi-smb-node daemonset 1
node.metricsPort metrics port of csi-smb-node 29645
node.livenessProbe.healthPort health check port for liveness probe 29643
node.logLevel node driver log level 5
node.affinity node pod affinity {}
node.nodeSelector node pod node selector {}
linux.enabled whether enable linux feature true
linux.dsName name of driver daemonset on linux csi-smb-node
linux.kubelet configure kubelet directory path on Linux agent node node /var/lib/kubelet
linux.resources.livenessProbe.limits.memory liveness-probe memory limits 100Mi
linux.resources.livenessProbe.requests.cpu liveness-probe cpu requests limits 10m
linux.resources.livenessProbe.requests.memory liveness-probe memory requests limits 20Mi
linux.resources.nodeDriverRegistrar.limits.memory csi-node-driver-registrar memory limits 100Mi
linux.resources.nodeDriverRegistrar.requests.cpu csi-node-driver-registrar cpu requests limits 10m
linux.resources.nodeDriverRegistrar.requests.memory csi-node-driver-registrar memory requests limits 20Mi
linux.resources.smb.limits.memory smb-csi-driver memory limits 200Mi
linux.resources.smb.requests.cpu smb-csi-driver cpu requests limits 10m
linux.resources.smb.requests.memory smb-csi-driver memory requests limits 20Mi
windows.enabled whether enable windows feature false
windows.dsName name of driver daemonset on windows csi-smb-node-win
windows.resources.livenessProbe.limits.memory liveness-probe memory limits 200Mi
windows.resources.livenessProbe.requests.cpu liveness-probe cpu requests limits 10m
windows.resources.livenessProbe.requests.memory liveness-probe memory requests limits 20Mi
windows.resources.nodeDriverRegistrar.limits.memory csi-node-driver-registrar memory limits 200Mi
windows.resources.nodeDriverRegistrar.requests.cpu csi-node-driver-registrar cpu requests limits 10m
windows.resources.nodeDriverRegistrar.requests.memory csi-node-driver-registrar memory requests limits 20Mi
windows.resources.smb.limits.memory smb-csi-driver memory limits 400Mi
windows.resources.smb.requests.cpu smb-csi-driver cpu requests limits 10m
windows.resources.smb.requests.memory smb-csi-driver memory requests limits 20Mi
windows.kubelet configure kubelet directory path on Windows agent node 'C:\var\lib\kubelet'

troubleshooting

  • Add --wait -v=5 --debug in helm install command to get detailed error
  • Use kubectl describe to acquire more info