From a566175d4536ad542d4736edd7c24023cbb8547e Mon Sep 17 00:00:00 2001 From: andyzhangx Date: Wed, 8 Oct 2025 02:35:52 +0000 Subject: [PATCH] feat: support multiple storage classes creation using helm chart --- charts/README.md | 54 ++++++++++++++++++ charts/latest/csi-driver-smb-v0.0.0.tgz | Bin 5714 -> 6246 bytes .../templates/storageclass.yaml | 30 ++++++++++ charts/latest/csi-driver-smb/values.yaml | 42 ++++++++++++++ 4 files changed, 126 insertions(+) create mode 100644 charts/latest/csi-driver-smb/templates/storageclass.yaml diff --git a/charts/README.md b/charts/README.md index 727df399061..01b8a8db7a3 100644 --- a/charts/README.md +++ b/charts/README.md @@ -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. @@ -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 diff --git a/charts/latest/csi-driver-smb-v0.0.0.tgz b/charts/latest/csi-driver-smb-v0.0.0.tgz index f414e5f413286fb6acc1d92674e8bfe3a5b81006..f42ea727377b410d58f7623c21679ed70c92d6be 100644 GIT binary patch delta 6241 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 L(TPbe0KfnM%$Y>* delta 5705 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 diff --git a/charts/latest/csi-driver-smb/templates/storageclass.yaml b/charts/latest/csi-driver-smb/templates/storageclass.yaml new file mode 100644 index 00000000000..9d7f71b9cba --- /dev/null +++ b/charts/latest/csi-driver-smb/templates/storageclass.yaml @@ -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 }} diff --git a/charts/latest/csi-driver-smb/values.yaml b/charts/latest/csi-driver-smb/values.yaml index da216bb1b04..8bbe5911436 100755 --- a/charts/latest/csi-driver-smb/values.yaml +++ b/charts/latest/csi-driver-smb/values.yaml @@ -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