Skip to content

Commit 448e0a0

Browse files
committed
Update deployment scripts to also deploy the daemonset to Windows
1 parent 6807135 commit 448e0a0

Some content is hidden

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

41 files changed

+5443
-35
lines changed

helm/examples/development-gke.yaml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
daemonset:
2+
image: gcr.io/mauriciopoppe-gke-dev/local-volume-provisioner:canary
3+
imagePullPolicy: Always
4+
common:
5+
useNodeNameOnly: true
6+
classes:
7+
- name: local-scsi
8+
hostDir: "/mnt/disks"
9+
fsType: ""
10+
storageClass: true

helm/generated_examples/baremetal-affinity.yaml

Lines changed: 128 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ roleRef:
9999
name: local-static-provisioner-node-clusterrole
100100
apiGroup: rbac.authorization.k8s.io
101101
---
102-
# Source: provisioner/templates/daemonset.yaml
102+
# Source: provisioner/templates/daemonset_linux.yaml
103103
apiVersion: apps/v1
104104
kind: DaemonSet
105105
metadata:
@@ -124,6 +124,8 @@ spec:
124124
checksum/config: 5a2fc47afffa2a982cff53af8b99da3694484be2a032fa8f6c723580d2d7fe19
125125
spec:
126126
serviceAccountName: local-static-provisioner
127+
nodeSelector:
128+
kubernetes.io/os: linux
127129
affinity:
128130

129131
nodeAffinity:
@@ -172,3 +174,128 @@ spec:
172174
- name: local-storage
173175
hostPath:
174176
path: /mnt/disks
177+
---
178+
# Source: provisioner/templates/daemonset_windows.yaml
179+
apiVersion: apps/v1
180+
kind: DaemonSet
181+
metadata:
182+
name: local-static-provisioner-win
183+
namespace: default
184+
labels:
185+
helm.sh/chart: provisioner-2.5.0
186+
app.kubernetes.io/name: provisioner
187+
app.kubernetes.io/managed-by: Helm
188+
app.kubernetes.io/instance: local-static-provisioner
189+
spec:
190+
selector:
191+
matchLabels:
192+
app.kubernetes.io/name: provisioner
193+
app.kubernetes.io/instance: local-static-provisioner
194+
template:
195+
metadata:
196+
labels:
197+
app.kubernetes.io/name: provisioner
198+
app.kubernetes.io/instance: local-static-provisioner
199+
annotations:
200+
checksum/config: 5a2fc47afffa2a982cff53af8b99da3694484be2a032fa8f6c723580d2d7fe19
201+
spec:
202+
serviceAccountName: local-static-provisioner
203+
nodeSelector:
204+
kubernetes.io/os: windows
205+
tolerations:
206+
# an empty key operator Exists matches all keys, values and effects
207+
# which meants that this will tolerate everything
208+
- operator: "Exists"
209+
affinity:
210+
211+
nodeAffinity:
212+
requiredDuringSchedulingIgnoredDuringExecution:
213+
nodeSelectorTerms:
214+
- matchExpressions:
215+
- key: pool
216+
operator: In
217+
values:
218+
- localssd
219+
containers:
220+
- name: provisioner
221+
image: k8s.gcr.io/sig-storage/local-volume-provisioner:v2.4.0
222+
# TODO(mauriciopoppe): remove this log level
223+
args:
224+
- --v=8
225+
env:
226+
- name: MY_NODE_NAME
227+
valueFrom:
228+
fieldRef:
229+
fieldPath: spec.nodeName
230+
- name: MY_NAMESPACE
231+
valueFrom:
232+
fieldRef:
233+
fieldPath: metadata.namespace
234+
- name: JOB_CONTAINER_IMAGE
235+
value: k8s.gcr.io/sig-storage/local-volume-provisioner:v2.4.0
236+
ports:
237+
- name: metrics
238+
containerPort: 8080
239+
volumeMounts:
240+
- name: provisioner-config
241+
mountPath: /etc/provisioner/config
242+
readOnly: true
243+
- name: provisioner-dev
244+
mountPath: /dev
245+
- name: local-storage
246+
mountPath: /mnt/disks
247+
mountPropagation: HostToContainer
248+
- name: csi-proxy-volume-v1
249+
mountPath: \\.\pipe\csi-proxy-volume-v1
250+
- name: csi-proxy-filesystem-v1
251+
mountPath: \\.\pipe\csi-proxy-filesystem-v1
252+
- name: csi-proxy-disk-v1
253+
mountPath: \\.\pipe\csi-proxy-disk-v1
254+
# these paths are still included for compatibility, they're used
255+
# only if the node has still the beta version of the CSI proxy
256+
- name: csi-proxy-volume-v1beta2
257+
mountPath: \\.\pipe\csi-proxy-volume-v1beta2
258+
- name: csi-proxy-filesystem-v1beta1
259+
mountPath: \\.\pipe\csi-proxy-filesystem-v1beta1
260+
- name: csi-proxy-disk-v1beta2
261+
mountPath: \\.\pipe\csi-proxy-disk-v1beta2
262+
volumes:
263+
- name: csi-proxy-disk-v1
264+
hostPath:
265+
path: \\.\pipe\csi-proxy-disk-v1
266+
type: ""
267+
- name: csi-proxy-volume-v1
268+
hostPath:
269+
path: \\.\pipe\csi-proxy-volume-v1
270+
type: ""
271+
- name: csi-proxy-filesystem-v1
272+
hostPath:
273+
path: \\.\pipe\csi-proxy-filesystem-v1
274+
type: ""
275+
# these paths are still included for compatibility, they're used
276+
# only if the node has still the beta version of the CSI proxy
277+
- name: csi-proxy-disk-v1beta2
278+
hostPath:
279+
path: \\.\pipe\csi-proxy-disk-v1beta2
280+
type: ""
281+
- name: csi-proxy-volume-v1beta2
282+
hostPath:
283+
path: \\.\pipe\csi-proxy-volume-v1beta2
284+
type: ""
285+
- name: csi-proxy-filesystem-v1beta1
286+
hostPath:
287+
path: \\.\pipe\csi-proxy-filesystem-v1beta1
288+
type: ""
289+
- name: provisioner-config
290+
configMap:
291+
name: local-static-provisioner-config
292+
- name: provisioner-dev
293+
hostPath:
294+
path: "C:\\dev"
295+
# If nothing exists at the given path, an empty directory will be
296+
# created there as needed with permission set to 0755,
297+
# having the same group and ownership with Kubelet.
298+
type: DirectoryOrCreate
299+
- name: local-storage
300+
hostPath:
301+
path: /mnt/disks

helm/generated_examples/baremetal-cleanbyjobs.yaml

Lines changed: 118 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ roleRef:
138138
name: local-static-provisioner-jobs-role
139139
apiGroup: rbac.authorization.k8s.io
140140
---
141-
# Source: provisioner/templates/daemonset.yaml
141+
# Source: provisioner/templates/daemonset_linux.yaml
142142
apiVersion: apps/v1
143143
kind: DaemonSet
144144
metadata:
@@ -163,6 +163,8 @@ spec:
163163
checksum/config: cdda409e0f72e7bb38ed20c4e3811585416ed2480ce62ab5d276c4b37db566c9
164164
spec:
165165
serviceAccountName: local-static-provisioner
166+
nodeSelector:
167+
kubernetes.io/os: linux
166168
containers:
167169
- name: provisioner
168170
image: k8s.gcr.io/sig-storage/local-volume-provisioner:v2.4.0
@@ -201,3 +203,118 @@ spec:
201203
- name: local-storage
202204
hostPath:
203205
path: /mnt/disks
206+
---
207+
# Source: provisioner/templates/daemonset_windows.yaml
208+
apiVersion: apps/v1
209+
kind: DaemonSet
210+
metadata:
211+
name: local-static-provisioner-win
212+
namespace: default
213+
labels:
214+
helm.sh/chart: provisioner-2.5.0
215+
app.kubernetes.io/name: provisioner
216+
app.kubernetes.io/managed-by: Helm
217+
app.kubernetes.io/instance: local-static-provisioner
218+
spec:
219+
selector:
220+
matchLabels:
221+
app.kubernetes.io/name: provisioner
222+
app.kubernetes.io/instance: local-static-provisioner
223+
template:
224+
metadata:
225+
labels:
226+
app.kubernetes.io/name: provisioner
227+
app.kubernetes.io/instance: local-static-provisioner
228+
annotations:
229+
checksum/config: cdda409e0f72e7bb38ed20c4e3811585416ed2480ce62ab5d276c4b37db566c9
230+
spec:
231+
serviceAccountName: local-static-provisioner
232+
nodeSelector:
233+
kubernetes.io/os: windows
234+
tolerations:
235+
# an empty key operator Exists matches all keys, values and effects
236+
# which meants that this will tolerate everything
237+
- operator: "Exists"
238+
containers:
239+
- name: provisioner
240+
image: k8s.gcr.io/sig-storage/local-volume-provisioner:v2.4.0
241+
# TODO(mauriciopoppe): remove this log level
242+
args:
243+
- --v=8
244+
env:
245+
- name: MY_NODE_NAME
246+
valueFrom:
247+
fieldRef:
248+
fieldPath: spec.nodeName
249+
- name: MY_NAMESPACE
250+
valueFrom:
251+
fieldRef:
252+
fieldPath: metadata.namespace
253+
- name: JOB_CONTAINER_IMAGE
254+
value: k8s.gcr.io/sig-storage/local-volume-provisioner:v2.4.0
255+
ports:
256+
- name: metrics
257+
containerPort: 8080
258+
volumeMounts:
259+
- name: provisioner-config
260+
mountPath: /etc/provisioner/config
261+
readOnly: true
262+
- name: provisioner-dev
263+
mountPath: /dev
264+
- name: local-storage
265+
mountPath: /mnt/disks
266+
mountPropagation: HostToContainer
267+
- name: csi-proxy-volume-v1
268+
mountPath: \\.\pipe\csi-proxy-volume-v1
269+
- name: csi-proxy-filesystem-v1
270+
mountPath: \\.\pipe\csi-proxy-filesystem-v1
271+
- name: csi-proxy-disk-v1
272+
mountPath: \\.\pipe\csi-proxy-disk-v1
273+
# these paths are still included for compatibility, they're used
274+
# only if the node has still the beta version of the CSI proxy
275+
- name: csi-proxy-volume-v1beta2
276+
mountPath: \\.\pipe\csi-proxy-volume-v1beta2
277+
- name: csi-proxy-filesystem-v1beta1
278+
mountPath: \\.\pipe\csi-proxy-filesystem-v1beta1
279+
- name: csi-proxy-disk-v1beta2
280+
mountPath: \\.\pipe\csi-proxy-disk-v1beta2
281+
volumes:
282+
- name: csi-proxy-disk-v1
283+
hostPath:
284+
path: \\.\pipe\csi-proxy-disk-v1
285+
type: ""
286+
- name: csi-proxy-volume-v1
287+
hostPath:
288+
path: \\.\pipe\csi-proxy-volume-v1
289+
type: ""
290+
- name: csi-proxy-filesystem-v1
291+
hostPath:
292+
path: \\.\pipe\csi-proxy-filesystem-v1
293+
type: ""
294+
# these paths are still included for compatibility, they're used
295+
# only if the node has still the beta version of the CSI proxy
296+
- name: csi-proxy-disk-v1beta2
297+
hostPath:
298+
path: \\.\pipe\csi-proxy-disk-v1beta2
299+
type: ""
300+
- name: csi-proxy-volume-v1beta2
301+
hostPath:
302+
path: \\.\pipe\csi-proxy-volume-v1beta2
303+
type: ""
304+
- name: csi-proxy-filesystem-v1beta1
305+
hostPath:
306+
path: \\.\pipe\csi-proxy-filesystem-v1beta1
307+
type: ""
308+
- name: provisioner-config
309+
configMap:
310+
name: local-static-provisioner-config
311+
- name: provisioner-dev
312+
hostPath:
313+
path: "C:\\dev"
314+
# If nothing exists at the given path, an empty directory will be
315+
# created there as needed with permission set to 0755,
316+
# having the same group and ownership with Kubelet.
317+
type: DirectoryOrCreate
318+
- name: local-storage
319+
hostPath:
320+
path: /mnt/disks

0 commit comments

Comments
 (0)