2.7 KiB
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 secretto createsmbcredssecret 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
DeleteVolumeRequestdoes not providemountOptions, following is the workaround to providemountOptionsforDeleteVolume
- create a secret
smbcredswithmountOptions
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