csi-driver-smb/docs/driver-parameters.md

2.7 KiB

Driver Parameters

Bring your own Samba server before using this driver.

Storage Class Usage

get an example

Name Meaning Available Value Mandatory Default value
source Samba Server address //smb-server-address/sharename
(Azure File format: //accountname.file.core.windows.net/filesharename)
Yes
subDir existing sub directory under smb share No sub directory must exist otherwise mount would fail
csi.storage.k8s.io/provisioner-secret-name secret name that stores username, password(domain is optional); if secret is provided, driver will create a sub directory with PV name under source existing secret name No
csi.storage.k8s.io/provisioner-secret-namespace namespace where the secret is existing secret namespace No
csi.storage.k8s.io/node-stage-secret-name secret name that stores username, password(domain is optional) existing secret name Yes
csi.storage.k8s.io/node-stage-secret-namespace namespace where the secret is existing secret namespace Yes

PV/PVC Usage

get an example

Name Meaning Available Value Mandatory Default value
volumeAttributes.source Samba Server address //smb-server-address/sharename
(Azure File format: //accountname.file.core.windows.net/filesharename)
Yes
volumeAttributes.subDir existing sub directory under smb share No sub directory must exist otherwise mount would fail
nodeStageSecretRef.name secret name that stores username, password(domain is optional) existing secret name Yes
nodeStageSecretRef.namespace namespace where the secret is k8s namespace Yes
  • Use kubectl create secret to create smbcreds secret to store Samba Server username, password
kubectl create secret generic smbcreds --from-literal username=USERNAME --from-literal password="PASSWORD"

Tips

provide mountOptions for DeleteVolume

since DeleteVolumeRequest does not provide mountOptions, following is the workaround to provide mountOptions for DeleteVolume

  • create a secret smbcreds with mountOptions
kubectl create secret generic smbcreds --from-literal username=USERNAME --from-literal password="PASSWORD" --from-literal mountOptions="dir_mode=0777,file_mode=0777,uid=0,gid=0,mfsymlinks"
  • set csi.storage.k8s.io/provisioner-secret-name: "smbcreds" in storage class