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
31 changes: 31 additions & 0 deletions charts/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,37 @@ The following table lists the configurable parameters of the latest NFS CSI Driv
| `externalSnapshotter.resources.requests.cpu` | snapshot-controller cpu requests limits | 10m |
| `externalSnapshotter.resources.requests.memory` | snapshot-controller memory requests limits | 20Mi |
| `storageClass.create` | create storageclass| `false` | |
| `storageClasses` | create multiple storageclasses (if specified, `storageClass.create` is still respected)| `[]` | |

### Create multiple storage classes

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

```yaml
storageClasses:
- name: nfs-delete
annotations:
storageclass.kubernetes.io/is-default-class: "true"
parameters:
server: nfs-server.default.svc.cluster.local
share: /
reclaimPolicy: Delete
volumeBindingMode: Immediate
mountOptions:
- nfsvers=4.1
- name: nfs-retain
parameters:
server: nfs-server.default.svc.cluster.local
share: /data
reclaimPolicy: Retain
volumeBindingMode: Immediate
mountOptions:
- nfsvers=4.1
```
Install with custom values:
```console
helm install csi-driver-nfs csi-driver-nfs/csi-driver-nfs --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-nfs-v0.0.0.tgz
Binary file not shown.
30 changes: 30 additions & 0 deletions charts/latest/csi-driver-nfs/templates/storageclass.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,33 @@ mountOptions:
{{ toYaml . | nindent 2 }}
{{- end }}
{{- end }}
{{- if .Values.storageClasses }}
{{- range .Values.storageClasses }}
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: {{ .name }}
{{ include "nfs.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 }}
29 changes: 28 additions & 1 deletion charts/latest/csi-driver-nfs/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -183,11 +183,38 @@ storageClass:
# server: nfs-server.default.svc.cluster.local
# share: /
# subDir:
# mountPermissions: "0"
# mountPermissions: "0755"
# csi.storage.k8s.io/provisioner-secret is only needed for providing mountOptions in DeleteVolume
# csi.storage.k8s.io/provisioner-secret-name: "mount-options"
# csi.storage.k8s.io/provisioner-secret-namespace: "default"
# reclaimPolicy: Delete
# volumeBindingMode: Immediate
# mountOptions:
# - nfsvers=4.1

## StorageClass resources for creating multiple storage classes:
## If you want multiple storage classes with different configurations, use this instead of storageClass above
# storageClasses:
# - name: nfs-delete
# annotations:
# storageclass.kubernetes.io/is-default-class: "true"
# parameters:
# server: nfs-server.default.svc.cluster.local
# share: /
# # subDir:
# # mountPermissions: "0"
# # csi.storage.k8s.io/provisioner-secret is only needed for providing mountOptions in DeleteVolume
# # csi.storage.k8s.io/provisioner-secret-name: "mount-options"
# # csi.storage.k8s.io/provisioner-secret-namespace: "default"
# reclaimPolicy: Delete
# volumeBindingMode: Immediate
# mountOptions:
# - nfsvers=4.1
# - name: nfs-retain
# parameters:
# server: nfs-server.default.svc.cluster.local
# share: /
# reclaimPolicy: Retain
# volumeBindingMode: Immediate
# mountOptions:
# - nfsvers=4.1
Loading