Skip to content

Commit 7f69a52

Browse files
committed
feat: bring own serviceAccount in helm install
fix test fix test failure fix external test fix test
1 parent ec146b5 commit 7f69a52

File tree

14 files changed

+95
-54
lines changed

14 files changed

+95
-54
lines changed

Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ IMAGE_TAG_LATEST = $(REGISTRY)/$(IMAGE_NAME):latest
3030
BUILD_DATE ?= $(shell date -u +"%Y-%m-%dT%H:%M:%SZ")
3131
LDFLAGS ?= "-X ${PKG}/pkg/smb.driverVersion=${IMAGE_VERSION} -X ${PKG}/pkg/smb.gitCommit=${GIT_COMMIT} -X ${PKG}/pkg/smb.buildDate=${BUILD_DATE} -s -w -extldflags '-static'"
3232
E2E_HELM_OPTIONS ?= --set image.smb.repository=$(REGISTRY)/$(IMAGE_NAME) --set image.smb.tag=$(IMAGE_VERSION)
33+
E2E_HELM_OPTIONS += ${EXTRA_HELM_OPTIONS}
3334
GINKGO_FLAGS = -ginkgo.v
3435
GO111MODULE = on
3536
GOPATH ?= $(shell go env GOPATH)

charts/README.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,14 +46,19 @@ The following table lists the configurable parameters of the latest SMB CSI Driv
4646
| `imagePullSecrets` | Specify docker-registry secret names as an array | [] (does not add image pull secrets to deployed pods) |
4747
| `serviceAccount.create` | whether create service account of csi-smb-controller | true |
4848
| `rbac.create` | whether create rbac of csi-smb-controller | true |
49+
| `rbac.name` | driver name in rbac role | true |
50+
| `controller.name` | name of driver deployment | `csi-smb-controller`
4951
| `controller.replicas` | the replicas of csi-smb-controller | 2 |
5052
| `controller.metricsPort` | metrics port of csi-smb-controller |29644 |
53+
| `controller.livenessProbe.healthPort ` | health check port for liveness probe | `29642` |
5154
| `controller.logLevel` | controller driver log level |`5` |
5255
| `node.metricsPort` | metrics port of csi-smb-node |29645
5356
| `node.logLevel` | node driver log level |`5` |
5457
| `linux.enabled` | whether enable linux feature | true |
58+
| `linux.dsName` | name of driver daemonset on linux |`csi-smb-node` |
5559
| `linux.kubelet` | configure kubelet directory path on Linux agent node node | `/var/lib/kubelet` |
5660
| `windows.enabled` | whether enable windows feature | false |
61+
| `windows.dsName` | name of driver daemonset on windows |`csi-smb-node-win` |
5762
| `windows.kubelet` | configure kubelet directory path on Windows agent node | `'C:\var\lib\kubelet'` |
5863
| `windows.image.livenessProbe.repository` | windows liveness-probe docker image | mcr.microsoft.com/oss/kubernetes-csi/livenessprobe |
5964
| `windows.image.livenessProbe.tag` | windows liveness-probe docker image tag | v2.3.0 |
@@ -62,7 +67,7 @@ The following table lists the configurable parameters of the latest SMB CSI Driv
6267
| `windows.image.nodeDriverRegistrar.tag` | windows csi-node-driver-registrar docker image tag | v2.2.0 |
6368
| `windows.image.nodeDriverRegistrar.pullPolicy` | windows csi-node-driver-registrar image pull policy | IfNotPresent |
6469
| `controller.runOnMaster` | run controller on master node | false |
65-
| `node.livenessProbe.healthPort ` | the health check port for liveness probe | `29643` |
70+
| `node.livenessProbe.healthPort ` | health check port for liveness probe | `29643` |
6671
| `controller.resources.csiProvisioner.limits.cpu` | csi-provisioner cpu limits | 100m |
6772
| `controller.resources.csiProvisioner.limits.memory` | csi-provisioner memory limits | 100Mi |
6873
| `controller.resources.csiProvisioner.requests.cpu` | csi-provisioner cpu requests limits | 10m |
@@ -82,6 +87,8 @@ The following table lists the configurable parameters of the latest SMB CSI Driv
8287
| `controller.affinity` | controller pod affinity | {} |
8388
| `controller.nodeSelector` | controller pod node selector | {} |
8489
| `controller.tolerations` | controller pod tolerations | [] |
90+
| `node.metricsPort` | metrics port of csi-smb-node |`29645` |
91+
| `node.livenessProbe.healthPort ` | health check port for liveness probe | `29643` |
8592
| `node.resources.livenessProbe.limits.cpu` | liveness-probe cpu limits | 100m |
8693
| `node.resources.livenessProbe.limits.memory` | liveness-probe memory limits | 100Mi |
8794
| `node.resources.livenessProbe.requests.cpu` | liveness-probe cpu requests limits | 10m |
116 Bytes
Binary file not shown.

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

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,18 @@
22
kind: Deployment
33
apiVersion: apps/v1
44
metadata:
5-
name: csi-smb-controller
5+
name: {{ .Values.controller.name }}
66
namespace: {{ .Release.Namespace }}
77
{{ include "smb.labels" . | indent 2 }}
88
spec:
99
replicas: {{ .Values.controller.replicas }}
1010
selector:
1111
matchLabels:
12-
app: csi-smb-controller
12+
app: {{ .Values.controller.name }}
1313
template:
1414
metadata:
1515
{{ include "smb.labels" . | indent 6 }}
16-
app: csi-smb-controller
16+
app: {{ .Values.controller.name }}
1717
{{- if .Values.podLabels }}
1818
{{- toYaml .Values.podLabels | nindent 8 }}
1919
{{- end }}
@@ -27,7 +27,7 @@ spec:
2727
{{ toYaml . | indent 8 }}
2828
{{- end }}
2929
dnsPolicy: ClusterFirstWithHostNet
30-
serviceAccountName: csi-smb-controller-sa
30+
serviceAccountName: {{ .Values.serviceAccount.controller }}
3131
nodeSelector:
3232
{{- with .Values.controller.nodeSelector }}
3333
{{ toYaml . | indent 8 }}
@@ -62,7 +62,7 @@ spec:
6262
args:
6363
- --csi-address=/csi/csi.sock
6464
- --probe-timeout=3s
65-
- --health-port=29642
65+
- --health-port={{ .Values.controller.livenessProbe.healthPort }}
6666
- --v=2
6767
imagePullPolicy: {{ .Values.image.livenessProbe.pullPolicy }}
6868
volumeMounts:
@@ -78,7 +78,7 @@ spec:
7878
- "--metrics-address=0.0.0.0:{{ .Values.controller.metricsPort }}"
7979
- "--drivername={{ .Values.driver.name }}"
8080
ports:
81-
- containerPort: 29642
81+
- containerPort: {{ .Values.controller.livenessProbe.healthPort }}
8282
name: healthz
8383
protocol: TCP
8484
- containerPort: {{ .Values.controller.metricsPort }}

charts/latest/csi-driver-smb/templates/csi-smb-node-windows.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,17 @@
22
kind: DaemonSet
33
apiVersion: apps/v1
44
metadata:
5-
name: csi-smb-node-win
5+
name: {{ .Values.windows.dsName }}
66
namespace: {{ .Release.Namespace }}
77
{{ include "smb.labels" . | indent 2 }}
88
spec:
99
selector:
1010
matchLabels:
11-
app: csi-smb-node-win
11+
app: {{ .Values.windows.dsName }}
1212
template:
1313
metadata:
1414
{{ include "smb.labels" . | indent 6 }}
15-
app: csi-smb-node-win
15+
app: {{ .Values.windows.dsName }}
1616
spec:
1717
{{- with .Values.windows.tolerations }}
1818
tolerations:
@@ -31,7 +31,7 @@ spec:
3131
args:
3232
- --csi-address=$(CSI_ENDPOINT)
3333
- --probe-timeout=3s
34-
- --health-port=29643
34+
- --health-port={{ .Values.node.livenessProbe.healthPort }}
3535
- --v=2
3636
env:
3737
- name: CSI_ENDPOINT
@@ -80,7 +80,7 @@ spec:
8080
- --nodeid=$(KUBE_NODE_NAME)
8181
- "--metrics-address=0.0.0.0:{{ .Values.node.metricsPort }}"
8282
ports:
83-
- containerPort: 29643
83+
- containerPort: {{ .Values.node.livenessProbe.healthPort }}
8484
name: healthz
8585
protocol: TCP
8686
livenessProbe:

charts/latest/csi-driver-smb/templates/csi-smb-node.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,17 @@
22
kind: DaemonSet
33
apiVersion: apps/v1
44
metadata:
5-
name: csi-smb-node
5+
name: {{ .Values.linux.dsName }}
66
namespace: {{ .Release.Namespace }}
77
{{ include "smb.labels" . | indent 2 }}
88
spec:
99
selector:
1010
matchLabels:
11-
app: csi-smb-node
11+
app: {{ .Values.linux.dsName }}
1212
template:
1313
metadata:
1414
{{ include "smb.labels" . | indent 6 }}
15-
app: csi-smb-node
15+
app: {{ .Values.linux.dsName }}
1616
{{- if .Values.podLabels }}
1717
{{- toYaml .Values.podLabels | nindent 8 }}
1818
{{- end }}
@@ -82,7 +82,7 @@ spec:
8282
- "--nodeid=$(KUBE_NODE_NAME)"
8383
- "--metrics-address=0.0.0.0:{{ .Values.node.metricsPort }}"
8484
ports:
85-
- containerPort: 29643
85+
- containerPort: {{ .Values.node.livenessProbe.healthPort }}
8686
name: healthz
8787
protocol: TCP
8888
livenessProbe:

charts/latest/csi-driver-smb/templates/rbac-csi-smb-controller.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
apiVersion: v1
44
kind: ServiceAccount
55
metadata:
6-
name: csi-smb-controller-sa
6+
name: {{ .Values.serviceAccount.controller }}
77
namespace: {{ .Release.Namespace }}
88
{{ include "smb.labels" . | indent 2 }}
99
---
@@ -13,7 +13,7 @@ metadata:
1313
kind: ClusterRole
1414
apiVersion: rbac.authorization.k8s.io/v1
1515
metadata:
16-
name: smb-external-provisioner-role
16+
name: {{ .Values.rbac.name }}-external-provisioner-role
1717
{{ include "smb.labels" . | indent 2 }}
1818
rules:
1919
- apiGroups: [""]
@@ -45,14 +45,14 @@ rules:
4545
kind: ClusterRoleBinding
4646
apiVersion: rbac.authorization.k8s.io/v1
4747
metadata:
48-
name: smb-csi-provisioner-binding
48+
name: {{ .Values.rbac.name }}-csi-provisioner-binding
4949
{{ include "smb.labels" . | indent 2 }}
5050
subjects:
5151
- kind: ServiceAccount
52-
name: csi-smb-controller-sa
52+
name: {{ .Values.serviceAccount.controller }}
5353
namespace: {{ .Release.Namespace }}
5454
roleRef:
5555
kind: ClusterRole
56-
name: smb-external-provisioner-role
56+
name: {{ .Values.rbac.name }}-external-provisioner-role
5757
apiGroup: rbac.authorization.k8s.io
5858
{{- end -}}

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

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,22 @@ image:
1717
pullPolicy: IfNotPresent
1818

1919
serviceAccount:
20-
create: true
20+
create: true # When true, service accounts will be created for you. Set to false if you want to use your own.
21+
controller: csi-smb-controller-sa # Name of Service Account to be created or used
2122

2223
rbac:
2324
create: true
25+
name: smb
2426

2527
driver:
2628
name: smb.csi.k8s.io
2729

2830
controller:
31+
name: csi-smb-controller
2932
replicas: 2
3033
metricsPort: 29644
34+
livenessProbe:
35+
healthPort: 29642
3136
runOnMaster: false
3237
logLevel: 5
3338
resources:
@@ -56,12 +61,10 @@ controller:
5661
nodeSelector: {}
5762
tolerations:
5863
- key: "node-role.kubernetes.io/master"
59-
operator: "Equal"
60-
value: "true"
64+
operator: "Exists"
6165
effect: "NoSchedule"
6266
- key: "node-role.kubernetes.io/controlplane"
63-
operator: "Equal"
64-
value: "true"
67+
operator: "Exists"
6568
effect: "NoSchedule"
6669

6770
node:
@@ -96,12 +99,14 @@ node:
9699

97100
linux:
98101
enabled: true
102+
dsName: csi-smb-node # daemonset name
99103
kubelet: /var/lib/kubelet
100104
tolerations:
101105
- operator: "Exists"
102106

103107
windows:
104108
enabled: false
109+
dsName: csi-smb-node-win # daemonset name
105110
kubelet: 'C:\var\lib\kubelet'
106111
image:
107112
livenessProbe:

deploy/csi-smb-controller.yaml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,10 @@ spec:
2121
priorityClassName: system-cluster-critical
2222
tolerations:
2323
- key: "node-role.kubernetes.io/master"
24-
operator: "Equal"
25-
value: "true"
24+
operator: "Exists"
2625
effect: "NoSchedule"
2726
- key: "node-role.kubernetes.io/controlplane"
28-
operator: "Equal"
29-
value: "true"
27+
operator: "Exists"
3028
effect: "NoSchedule"
3129
containers:
3230
- name: csi-provisioner

deploy/example/deployment.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,16 @@
11
---
2+
kind: PersistentVolumeClaim
3+
apiVersion: v1
4+
metadata:
5+
name: pvc-smb
6+
spec:
7+
accessModes:
8+
- ReadWriteMany
9+
resources:
10+
requests:
11+
storage: 10Gi
12+
storageClassName: smb
13+
---
214
apiVersion: apps/v1
315
kind: Deployment
416
metadata:

0 commit comments

Comments
 (0)