Skip to content

Commit 1f3c7b7

Browse files
author
shiftstack-merge-bot
committed
2 parents c063251 + d13493d commit 1f3c7b7

File tree

342 files changed

+21467
-12050
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

342 files changed

+21467
-12050
lines changed

Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ include release-tools/build.make
2727

2828
GIT_COMMIT = $(shell git rev-parse HEAD)
2929
BUILD_DATE = $(shell date -u +"%Y-%m-%dT%H:%M:%SZ")
30-
IMAGE_VERSION ?= v4.9.0
30+
IMAGE_VERSION ?= v4.10.0
3131
LDFLAGS = -X ${PKG}/pkg/nfs.driverVersion=${IMAGE_VERSION} -X ${PKG}/pkg/nfs.gitCommit=${GIT_COMMIT} -X ${PKG}/pkg/nfs.buildDate=${BUILD_DATE}
3232
EXT_LDFLAGS = -s -w -extldflags "-static"
3333
# Use a custom version for E2E tests if we are testing in CI
@@ -42,7 +42,7 @@ REGISTRY_NAME ?= $(shell echo $(REGISTRY) | sed "s/.azurecr.io//g")
4242
IMAGE_TAG = $(REGISTRY)/$(IMAGENAME):$(IMAGE_VERSION)
4343
IMAGE_TAG_LATEST = $(REGISTRY)/$(IMAGENAME):latest
4444

45-
E2E_HELM_OPTIONS ?= --set image.nfs.repository=$(REGISTRY)/$(IMAGENAME) --set image.nfs.tag=$(IMAGE_VERSION) --set image.nfs.pullPolicy=Always --set feature.enableInlineVolume=true --set externalSnapshotter.enabled=true
45+
E2E_HELM_OPTIONS ?= --set image.nfs.repository=$(REGISTRY)/$(IMAGENAME) --set image.nfs.tag=$(IMAGE_VERSION) --set image.nfs.pullPolicy=Always --set feature.enableInlineVolume=true --set externalSnapshotter.enabled=true --set controller.runOnControlPlane=true
4646
E2E_HELM_OPTIONS += ${EXTRA_HELM_OPTIONS}
4747

4848
# Output type of docker buildx build

charts/README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,9 @@ The following table lists the configurable parameters of the latest NFS CSI Driv
7979
| `controller.resources.csiProvisioner.limits.memory` | csi-provisioner memory limits | 100Mi |
8080
| `controller.resources.csiProvisioner.requests.cpu` | csi-provisioner cpu requests limits | 10m |
8181
| `controller.resources.csiProvisioner.requests.memory` | csi-provisioner memory requests limits | 20Mi |
82+
| `controller.resources.csiResizer.limits.memory` | csi-resizer memory limits | 400Mi |
83+
| `controller.resources.csiResizer.requests.cpu` | csi-resizer cpu requests | 10m |
84+
| `controller.resources.csiResizer.requests.memory` | csi-resizer memory requests | 20Mi |
8285
| `controller.resources.livenessProbe.limits.memory` | liveness-probe memory limits | 100Mi |
8386
| `controller.resources.livenessProbe.requests.cpu` | liveness-probe cpu requests limits | 10m |
8487
| `controller.resources.livenessProbe.requests.memory` | liveness-probe memory requests limits | 20Mi |
468 Bytes
Binary file not shown.

charts/latest/csi-driver-nfs/templates/csi-nfs-controller.yaml

Lines changed: 48 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,18 +24,29 @@ spec:
2424
hostNetwork: true # controller also needs to mount nfs to create dir
2525
dnsPolicy: {{ .Values.controller.dnsPolicy }}
2626
serviceAccountName: {{ .Values.serviceAccount.controller }}
27-
{{- with .Values.controller.affinity }}
27+
# runOnControlPlane=true or runOnMaster=true only takes effect if affinity is not set
28+
{{- if contains (tpl "{{ .Values.controller.affinity }}" .) "nodeSelectorTerms" }}
29+
{{- with .Values.controller.affinity }}
2830
affinity:
29-
{{ toYaml . | indent 8 }}
30-
{{- end }}
31+
{{ toYaml . | indent 8 }}
32+
{{- end }}
33+
{{- else if or .Values.controller.runOnControlPlane .Values.controller.runOnMaster}}
34+
affinity:
35+
nodeAffinity:
36+
requiredDuringSchedulingIgnoredDuringExecution:
37+
nodeSelectorTerms:
38+
- matchExpressions:
39+
{{- if .Values.controller.runOnControlPlane}}
40+
- key: node-role.kubernetes.io/control-plane
41+
operator: Exists
42+
{{- end}}
43+
{{- if .Values.controller.runOnMaster}}
44+
- key: node-role.kubernetes.io/master
45+
operator: Exists
46+
{{- end}}
47+
{{- end }}
3148
nodeSelector:
3249
kubernetes.io/os: linux
33-
{{- if .Values.controller.runOnMaster}}
34-
node-role.kubernetes.io/master: ""
35-
{{- end}}
36-
{{- if .Values.controller.runOnControlPlane}}
37-
node-role.kubernetes.io/control-plane: ""
38-
{{- end}}
3950
{{- with .Values.controller.nodeSelector }}
4051
{{ toYaml . | indent 8 }}
4152
{{- end }}
@@ -62,6 +73,7 @@ spec:
6273
- "--extra-create-metadata=true"
6374
- "--feature-gates=HonorPVReclaimPolicy=true"
6475
- "--timeout=1200s"
76+
- "--retry-interval-max=30m"
6577
env:
6678
- name: ADDRESS
6779
value: /csi/csi.sock
@@ -75,6 +87,31 @@ spec:
7587
capabilities:
7688
drop:
7789
- ALL
90+
- name: csi-resizer
91+
{{- if hasPrefix "/" .Values.image.csiResizer.repository }}
92+
image: "{{ .Values.image.baseRepo }}{{ .Values.image.csiResizer.repository }}:{{ .Values.image.csiResizer.tag }}"
93+
{{- else }}
94+
image: "{{ .Values.image.csiResizer.repository }}:{{ .Values.image.csiResizer.tag }}"
95+
{{- end }}
96+
args:
97+
- "-csi-address=$(ADDRESS)"
98+
- "-v=2"
99+
- "-leader-election"
100+
- "--leader-election-namespace={{ .Release.Namespace }}"
101+
- '-handle-volume-inuse-error=false'
102+
env:
103+
- name: ADDRESS
104+
value: /csi/csi.sock
105+
imagePullPolicy: {{ .Values.image.csiResizer.pullPolicy }}
106+
volumeMounts:
107+
- name: socket-dir
108+
mountPath: /csi
109+
resources: {{- toYaml .Values.controller.resources.csiResizer | nindent 12 }}
110+
securityContext:
111+
capabilities:
112+
drop:
113+
- ALL
114+
{{- if .Values.controller.enableSnapshotter }}
78115
- name: csi-snapshotter
79116
{{- if hasPrefix "/" .Values.image.csiSnapshotter.repository }}
80117
image: "{{ .Values.image.baseRepo }}{{ .Values.image.csiSnapshotter.repository }}:{{ .Values.image.csiSnapshotter.tag }}"
@@ -87,6 +124,7 @@ spec:
87124
- "--leader-election-namespace={{ .Release.Namespace }}"
88125
- "--leader-election"
89126
- "--timeout=1200s"
127+
- "--retry-interval-max=30m"
90128
env:
91129
- name: ADDRESS
92130
value: /csi/csi.sock
@@ -99,6 +137,7 @@ spec:
99137
capabilities:
100138
drop:
101139
- ALL
140+
{{- end }}
102141
- name: liveness-probe
103142
{{- if hasPrefix "/" .Values.image.livenessProbe.repository }}
104143
image: "{{ .Values.image.baseRepo }}{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}"

charts/latest/csi-driver-nfs/templates/csi-snapshot-controller.yaml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,27 @@ spec:
4646
{{- end }}
4747
nodeSelector:
4848
kubernetes.io/os: linux
49+
# runOnControlPlane=true or runOnMaster=true only takes effect if affinity is not set
50+
{{- if contains (tpl "{{ .Values.controller.affinity }}" .) "nodeSelectorTerms" }}
51+
{{- with .Values.controller.affinity }}
52+
affinity:
53+
{{ toYaml . | indent 8 }}
54+
{{- end }}
55+
{{- else if or .Values.controller.runOnControlPlane .Values.controller.runOnMaster}}
56+
affinity:
57+
nodeAffinity:
58+
requiredDuringSchedulingIgnoredDuringExecution:
59+
nodeSelectorTerms:
60+
- matchExpressions:
61+
{{- if .Values.controller.runOnControlPlane}}
62+
- key: node-role.kubernetes.io/control-plane
63+
operator: Exists
64+
{{- end}}
65+
{{- if .Values.controller.runOnMaster}}
66+
- key: node-role.kubernetes.io/master
67+
operator: Exists
68+
{{- end}}
69+
{{- end }}
4970
priorityClassName: {{ .Values.externalSnapshotter.priorityClassName }}
5071
securityContext:
5172
seccompProfile:

charts/latest/csi-driver-nfs/templates/rbac-csi-nfs.yaml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,42 @@ rules:
5757
resources: ["secrets"]
5858
verbs: ["get"]
5959
---
60+
kind: ClusterRole
61+
apiVersion: rbac.authorization.k8s.io/v1
62+
metadata:
63+
name: {{ .Values.rbac.name }}-external-resizer-role
64+
{{ include "nfs.labels" . | indent 2 }}
65+
rules:
66+
- apiGroups: [""]
67+
resources: ["persistentvolumes"]
68+
verbs: ["get", "list", "watch", "update", "patch"]
69+
- apiGroups: [""]
70+
resources: ["persistentvolumeclaims"]
71+
verbs: ["get", "list", "watch"]
72+
- apiGroups: [""]
73+
resources: ["persistentvolumeclaims/status"]
74+
verbs: ["update", "patch"]
75+
- apiGroups: [""]
76+
resources: ["events"]
77+
verbs: ["list", "watch", "create", "update", "patch"]
78+
- apiGroups: ["coordination.k8s.io"]
79+
resources: ["leases"]
80+
verbs: ["get", "list", "watch", "create", "update", "patch"]
81+
---
82+
kind: ClusterRoleBinding
83+
apiVersion: rbac.authorization.k8s.io/v1
84+
metadata:
85+
name: {{ .Values.rbac.name }}-csi-resizer-role
86+
{{ include "nfs.labels" . | indent 2 }}
87+
subjects:
88+
- kind: ServiceAccount
89+
name: {{ .Values.serviceAccount.controller }}
90+
namespace: {{ .Release.Namespace }}
91+
roleRef:
92+
kind: ClusterRole
93+
name: {{ .Values.rbac.name }}-external-resizer-role
94+
apiGroup: rbac.authorization.k8s.io
95+
---
6096
kind: ClusterRoleBinding
6197
apiVersion: rbac.authorization.k8s.io/v1
6298
metadata:

charts/latest/csi-driver-nfs/templates/rbac-snapshot-controller.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ rules:
4040
verbs: ["patch"]
4141
- apiGroups: ["snapshot.storage.k8s.io"]
4242
resources: ["volumesnapshots"]
43-
verbs: ["get", "list", "watch", "update", "patch"]
43+
verbs: ["get", "list", "watch", "update", "patch", "create"]
4444
- apiGroups: ["snapshot.storage.k8s.io"]
4545
resources: ["volumesnapshots/status"]
4646
verbs: ["update", "patch"]
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{{- if .Values.volumeSnapshotClass.create }}
2+
---
3+
apiVersion: snapshot.storage.k8s.io/v1
4+
kind: VolumeSnapshotClass
5+
metadata:
6+
name: {{ .Values.volumeSnapshotClass.name }}
7+
driver: {{ .Values.driver.name }}
8+
deletionPolicy: {{ .Values.volumeSnapshotClass.deletionPolicy }}
9+
{{- end }}

charts/latest/csi-driver-nfs/templates/storageclass.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ parameters:
1616
{{- end }}
1717
reclaimPolicy: {{ .Values.storageClass.reclaimPolicy }}
1818
volumeBindingMode: {{ .Values.storageClass.volumeBindingMode }}
19+
allowVolumeExpansion: true
1920
{{- with .Values.storageClass.mountOptions }}
2021
mountOptions:
2122
{{ toYaml . | nindent 2 }}

charts/latest/csi-driver-nfs/values.yaml

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,13 @@ image:
99
repository: registry.k8s.io/sig-storage/csi-provisioner
1010
tag: v5.1.0
1111
pullPolicy: IfNotPresent
12+
csiResizer:
13+
repository: registry.k8s.io/sig-storage/csi-resizer
14+
tag: v1.12.0
15+
pullPolicy: IfNotPresent
1216
csiSnapshotter:
1317
repository: registry.k8s.io/sig-storage/csi-snapshotter
14-
tag: v8.1.0
18+
tag: v8.2.0
1519
pullPolicy: IfNotPresent
1620
livenessProbe:
1721
repository: registry.k8s.io/sig-storage/livenessprobe
@@ -23,7 +27,7 @@ image:
2327
pullPolicy: IfNotPresent
2428
externalSnapshotter:
2529
repository: registry.k8s.io/sig-storage/snapshot-controller
26-
tag: v8.1.0
30+
tag: v8.2.0
2731
pullPolicy: IfNotPresent
2832

2933
serviceAccount:
@@ -52,6 +56,7 @@ controller:
5256
strategyType: Recreate
5357
runOnMaster: false
5458
runOnControlPlane: false
59+
enableSnapshotter: true
5560
livenessProbe:
5661
healthPort: 29652
5762
logLevel: 5
@@ -81,6 +86,12 @@ controller:
8186
requests:
8287
cpu: 10m
8388
memory: 20Mi
89+
csiResizer:
90+
limits:
91+
memory: 400Mi
92+
requests:
93+
cpu: 10m
94+
memory: 20Mi
8495
csiSnapshotter:
8596
limits:
8697
memory: 200Mi
@@ -136,6 +147,7 @@ externalSnapshotter:
136147
enabled: false
137148
name: snapshot-controller
138149
priorityClassName: system-cluster-critical
150+
deletionPolicy: Delete
139151
controller:
140152
replicas: 1
141153
resources:
@@ -148,6 +160,12 @@ externalSnapshotter:
148160
customResourceDefinitions:
149161
enabled: true #if set true, VolumeSnapshot, VolumeSnapshotContent and VolumeSnapshotClass CRDs will be created. Set it false, If they already exist in cluster.
150162

163+
## volumeSnapshotClass resource example:
164+
volumeSnapshotClass:
165+
create: false
166+
name: csi-nfs-snapclass
167+
deletionPolicy: Delete
168+
151169
## Reference to one or more secrets to be used when pulling images
152170
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
153171
##

0 commit comments

Comments
 (0)