Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 54 additions & 0 deletions charts/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,7 @@ The following table lists the configurable parameters of the latest SMB CSI Driv
| `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'` |
| `storageClasses` | create multiple storage classes | `[]` | |

### Csi Proxy support on windows
> if you have set `windows.useHostProcessContainers` as `true`, csi-proxy is not needed by CSI driver.
Expand All @@ -147,6 +148,59 @@ The following table lists the configurable parameters of the latest CSI-proxy Dr
| `image.csiproxy.tag` | csiproxy docker image tag | `v1.1.2` |
| `image.csiproxy.pullPolicy` | csiproxy image pull policy | `IfNotPresent` |

## Create multiple storage classes

- create multiple storage classes with different configurations using the `storageClasses` parameter:

```yaml
storageClasses:
- name: smb-csi
annotations:
storageclass.kubernetes.io/is-default-class: "true"
parameters:
source: "//smb-server.default.svc.cluster.local/share"
# if csi.storage.k8s.io/provisioner-secret is provided, will create a sub directory
# with PV name under source
csi.storage.k8s.io/provisioner-secret-name: smbcreds
csi.storage.k8s.io/provisioner-secret-namespace: default
csi.storage.k8s.io/node-stage-secret-name: smbcreds
csi.storage.k8s.io/node-stage-secret-namespace: default
reclaimPolicy: Delete
volumeBindingMode: Immediate
allowVolumeExpansion: true
mountOptions:
- dir_mode=0777
- file_mode=0777
- noperm
- mfsymlinks
- cache=strict
- noserverino # required to prevent data corruption
- name: smb-csi-retain
parameters:
source: "//smb-server.default.svc.cluster.local/share"
# if csi.storage.k8s.io/provisioner-secret is provided, will create a sub directory
# with PV name under source
csi.storage.k8s.io/provisioner-secret-name: smbcreds
csi.storage.k8s.io/provisioner-secret-namespace: default
csi.storage.k8s.io/node-stage-secret-name: smbcreds
csi.storage.k8s.io/node-stage-secret-namespace: default
reclaimPolicy: Retain
volumeBindingMode: Immediate
allowVolumeExpansion: true
mountOptions:
- dir_mode=0777
- file_mode=0777
- noperm
- mfsymlinks
- cache=strict
- noserverino # required to prevent data corruption
```

- install with custom values:
```console
helm install csi-driver-smb csi-driver-smb/csi-driver-smb --namespace kube-system -f custom-values.yaml
```

## troubleshooting

- Add `--wait -v=5 --debug` in `helm install` command to get detailed error
Expand Down
Binary file modified charts/latest/csi-driver-smb-v0.0.0.tgz
Binary file not shown.
30 changes: 30 additions & 0 deletions charts/latest/csi-driver-smb/templates/storageclass.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
{{- if .Values.storageClasses }}
{{- range .Values.storageClasses }}
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: {{ .name }}
{{ include "smb.labels" $ | indent 2 }}
{{- with .annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
provisioner: {{ $.Values.driver.name }}
{{- with .parameters }}
parameters:
{{ toYaml . | indent 2 }}
{{- end }}
reclaimPolicy: {{ .reclaimPolicy | default "Delete" }}
volumeBindingMode: {{ .volumeBindingMode | default "Immediate" }}
{{- if hasKey . "allowVolumeExpansion" }}
allowVolumeExpansion: {{ .allowVolumeExpansion }}
{{- else }}
allowVolumeExpansion: true
{{- end }}
{{- with .mountOptions }}
mountOptions:
{{ toYaml . | nindent 2 }}
{{- end }}
{{- end }}
{{- end }}
42 changes: 42 additions & 0 deletions charts/latest/csi-driver-smb/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -180,3 +180,45 @@ priorityClassName: system-cluster-critical
## by example :
## securityContext: { runAsUser: 1001 }
securityContext: { seccompProfile: {type: RuntimeDefault} }
## StorageClass resources for creating multiple storage classes:
# storageClasses:
# - name: smb-csi
# annotations:
# storageclass.kubernetes.io/is-default-class: "true"
# parameters:
# source: "//smb-server.default.svc.cluster.local/share"
# # if csi.storage.k8s.io/provisioner-secret is provided, will create a sub directory
# # with PV name under source
# csi.storage.k8s.io/provisioner-secret-name: smbcreds
# csi.storage.k8s.io/provisioner-secret-namespace: default
# csi.storage.k8s.io/node-stage-secret-name: smbcreds
# csi.storage.k8s.io/node-stage-secret-namespace: default
# reclaimPolicy: Delete
# volumeBindingMode: Immediate
# allowVolumeExpansion: true
# mountOptions:
# - dir_mode=0777
# - file_mode=0777
# - noperm
# - mfsymlinks
# - cache=strict
# - noserverino # required to prevent data corruption
# - name: smb-csi-retain
# parameters:
# source: "//smb-server.default.svc.cluster.local/share"
# # if csi.storage.k8s.io/provisioner-secret is provided, will create a sub directory
# # with PV name under source
# csi.storage.k8s.io/provisioner-secret-name: smbcreds
# csi.storage.k8s.io/provisioner-secret-namespace: default
# csi.storage.k8s.io/node-stage-secret-name: smbcreds
# csi.storage.k8s.io/node-stage-secret-namespace: default
# reclaimPolicy: Delete
# volumeBindingMode: Immediate
# allowVolumeExpansion: true
# mountOptions:
# - dir_mode=0777
# - file_mode=0777
# - noperm
# - mfsymlinks
# - cache=strict
# - noserverino # required to prevent data corruption
Loading