Skip to content

Commit f16c76b

Browse files
authored
Merge pull request #635 from davhdavh/master
feat: csi-proxy support in helm
2 parents b8bc182 + 8c9e22e commit f16c76b

File tree

4 files changed

+78
-1
lines changed

4 files changed

+78
-1
lines changed

charts/README.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,24 @@ The following table lists the configurable parameters of the latest SMB CSI Driv
125125
| `windows.resources.smb.requests.memory` | smb-csi-driver memory requests limits | `20Mi` |
126126
| `windows.kubelet` | configure kubelet directory path on Windows agent node | `'C:\var\lib\kubelet'` |
127127

128+
### Csi Proxy support on windows
129+
130+
The helm can setup the host-process deamonset for the csi proxy, by setting windows.csiproxy.enabled to true.
131+
132+
The following table lists the configurable parameters of the latest CSI-proxy Driver chart and default values.
133+
134+
| Parameter | Description | Default |
135+
|---------------------------------------------------------|------------------------------------------------------------------------------------------------------------|---------------------------------------------------------|
136+
| `windows.csiproxy.enabled` | whether enable csi-proxy daemonset | `false` |
137+
| `windows.csiproxy.dsName` | name of driver csi-proxy daemonset on windows | `csi-proxy-win` |
138+
| `windows.csiproxy.username` | name of windows user on the host machine to run the proxy as | `NT AUTHORITY\\SYSTEM` |
139+
| `windows.csiproxy.affinity` | controller pod affinity | `{}` |
140+
| `windows.csiproxy.nodeSelector` | controller pod node selector | `{"kubernetes.io/os": windows}` |
141+
| `windows.csiproxy.tolerations` | controller pod tolerations | `[]` |
142+
| `image.csiproxy.repository` | csiproxy docker image | `ghcr.io/kubernetes-sigs/sig-windows/csi-provisioner` |
143+
| `image.csiproxy.tag` | csiproxy docker image tag | `v1.1.2` |
144+
| `image.csiproxy.pullPolicy` | csiproxy image pull policy | `IfNotPresent` |
145+
128146
## troubleshooting
129147

130148
- Add `--wait -v=5 --debug` in `helm install` command to get detailed error
394 Bytes
Binary file not shown.
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
{{- if .Values.windows.csiproxy.enabled}}
2+
kind: DaemonSet
3+
apiVersion: apps/v1
4+
metadata:
5+
name: {{ .Values.windows.csiproxy.dsName }}
6+
namespace: {{ .Release.Namespace }}
7+
{{ include "smb.labels" . | indent 2 }}
8+
spec:
9+
updateStrategy:
10+
rollingUpdate:
11+
maxUnavailable: {{ .Values.node.maxUnavailable }}
12+
type: RollingUpdate
13+
selector:
14+
matchLabels:
15+
app: {{ .Values.windows.csiproxy.dsName }}
16+
template:
17+
metadata:
18+
{{ include "smb.labels" . | indent 6 }}
19+
app: {{ .Values.windows.csiproxy.dsName }}
20+
spec:
21+
{{- with .Values.windows.csiproxy.tolerations }}
22+
tolerations:
23+
{{ toYaml . | indent 8 }}
24+
{{- end }}
25+
securityContext:
26+
windowsOptions:
27+
hostProcess: true
28+
runAsUserName: {{ .Values.windows.csiproxy.username | quote }}
29+
hostNetwork: true
30+
nodeSelector:
31+
{{- with .Values.windows.csiproxy.nodeSelector }}
32+
{{ toYaml . | indent 8 }}
33+
{{- end }}
34+
{{- with .Values.node.affinity }}
35+
affinity:
36+
{{ toYaml . | indent 8 }}
37+
{{- end }}
38+
priorityClassName: {{ .Values.priorityClassName | quote }}
39+
{{- include "smb.pullSecrets" . | indent 6 }}
40+
containers:
41+
- name: csi-proxy
42+
{{- if hasPrefix "/" .Values.image.csiproxy.repository }}
43+
image: "{{ .Values.image.baseRepo }}{{ .Values.image.csiproxy.repository }}:{{ .Values.image.csiproxy.tag }}"
44+
{{- else }}
45+
image: "{{ .Values.image.csiproxy.repository }}:{{ .Values.image.csiproxy.tag }}"
46+
{{- end }}
47+
imagePullPolicy: {{ .Values.image.csiproxy.pullPolicy }}
48+
{{- end -}}

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

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@ image:
1616
repository: registry.k8s.io/sig-storage/csi-node-driver-registrar
1717
tag: v2.8.0
1818
pullPolicy: IfNotPresent
19+
csiproxy:
20+
repository: ghcr.io/kubernetes-sigs/sig-windows/csi-provisioner
21+
tag: v1.1.2
22+
pullPolicy: IfNotPresent
1923

2024
serviceAccount:
2125
create: true # When true, service accounts will be created for you. Set to false if you want to use your own.
@@ -111,7 +115,7 @@ linux:
111115
memory: 20Mi
112116

113117
windows:
114-
enabled: false
118+
enabled: false # Unless you already had csi proxy installed, windows.csiproxy.enabled=true is required
115119
dsName: csi-smb-node-win # daemonset name
116120
kubelet: 'C:\var\lib\kubelet'
117121
removeSMBMappingDuringUnmount: true
@@ -138,6 +142,13 @@ windows:
138142
requests:
139143
cpu: 10m
140144
memory: 40Mi
145+
csiproxy:
146+
enabled: false # required if windows.enabled is true, but may be installed manually also
147+
dsName: csi-proxy-win # daemonset name
148+
tolerations: {}
149+
affinity: {}
150+
nodeSelector:
151+
"kubernetes.io/os": windows
141152

142153
customLabels: {}
143154
## Collection of annotations to add to all the pods

0 commit comments

Comments
 (0)