42
42
ref :
43
43
apiVersion : bootstrap.cluster.x-k8s.io/v1beta1
44
44
kind : KubeadmConfigTemplate
45
- name : quick-start-default-worker-bootstraptemplate
45
+ name : quick-start-md- default-worker-bootstraptemplate
46
46
infrastructure :
47
47
ref :
48
48
apiVersion : infrastructure.cluster.x-k8s.io/v1beta1
54
54
- type : e2e.remediation.condition
55
55
status : " False"
56
56
timeout : 20s
57
+ machinePools :
58
+ - class : default-worker
59
+ template :
60
+ metadata :
61
+ labels :
62
+ ClusterClass.machinePool.label : " ClusterClass.machinePool.labelValue"
63
+ annotations :
64
+ ClusterClass.machinePool.annotation : " ClusterClass.machinePool.annotationValue"
65
+ bootstrap :
66
+ ref :
67
+ apiVersion : bootstrap.cluster.x-k8s.io/v1beta1
68
+ kind : KubeadmConfigTemplate
69
+ name : quick-start-mp-default-worker-bootstraptemplate
70
+ infrastructure :
71
+ ref :
72
+ apiVersion : infrastructure.cluster.x-k8s.io/v1beta1
73
+ kind : DockerMachinePoolTemplate
74
+ name : quick-start-default-worker-machinepooltemplate
57
75
variables :
58
76
- name : lbImageRepository
59
77
required : true
@@ -182,6 +200,19 @@ spec:
182
200
valueFrom :
183
201
template : |
184
202
kindest/node:{{ .builtin.controlPlane.version | replace "+" "_" }}
203
+ - selector :
204
+ apiVersion : infrastructure.cluster.x-k8s.io/v1beta1
205
+ kind : DockerMachinePoolTemplate
206
+ matchResources :
207
+ machinePoolClass :
208
+ names :
209
+ - default-worker
210
+ jsonPatches :
211
+ - op : add
212
+ path : " /spec/template/spec/template/customImage"
213
+ valueFrom :
214
+ template : |
215
+ kindest/node:{{ .builtin.machinePool.version | replace "+" "_" }}
185
216
- name : preloadImages
186
217
description : |
187
218
Sets the container images to preload to the node that is used for running dockerMachines.
@@ -201,6 +232,24 @@ spec:
201
232
path : " /spec/template/spec/preLoadImages"
202
233
valueFrom :
203
234
variable : preLoadImages
235
+ - name : preloadImagesMP
236
+ description : |
237
+ Sets the container images to preload to the node that is used for running dockerMachines.
238
+ This is especially required for self-hosted e2e tests to ensure the required controller images to be available
239
+ and reduce load to public registries.
240
+ definitions :
241
+ - selector :
242
+ apiVersion : infrastructure.cluster.x-k8s.io/v1beta1
243
+ kind : DockerMachinePoolTemplate
244
+ matchResources :
245
+ machinePoolClass :
246
+ names :
247
+ - default-worker
248
+ jsonPatches :
249
+ - op : add
250
+ path : " /spec/template/spec/template/preLoadImages"
251
+ valueFrom :
252
+ variable : preLoadImages
204
253
- name : kubeadmControlPlaneMaxSurge
205
254
description : " Sets the maxSurge value used for rolloutStrategy in the KubeadmControlPlane."
206
255
enabledIf : ' {{ ne .kubeadmControlPlaneMaxSurge "" }}'
@@ -264,6 +313,18 @@ spec:
264
313
path : " /spec/template/spec/joinConfiguration/nodeRegistration/kubeletExtraArgs"
265
314
value :
266
315
cloud-provider : " external"
316
+ - selector :
317
+ apiVersion : bootstrap.cluster.x-k8s.io/v1beta1
318
+ kind : KubeadmConfigTemplate
319
+ matchResources :
320
+ machinePoolClass :
321
+ names :
322
+ - ' *-worker'
323
+ jsonPatches :
324
+ - op : add
325
+ path : " /spec/template/spec/joinConfiguration/nodeRegistration/kubeletExtraArgs"
326
+ value :
327
+ cloud-provider : " external"
267
328
- name : localEndpointIPv6
268
329
enabledIf : " {{ .ipv6Primary }}"
269
330
description : " Configures KCP to use IPv6 for its localAPIEndpoint."
@@ -440,10 +501,31 @@ spec:
440
501
- containerPath : " /var/run/docker.sock"
441
502
hostPath : " /var/run/docker.sock"
442
503
---
504
+ apiVersion : infrastructure.cluster.x-k8s.io/v1beta1
505
+ kind : DockerMachinePoolTemplate
506
+ metadata :
507
+ name : quick-start-default-worker-machinepooltemplate
508
+ labels :
509
+ InfraMachinePoolTemplate.machinePool.label : " InfraMachinePoolTemplate.machinePool.labelValue"
510
+ annotations :
511
+ InfraMachinePoolTemplate.machinePool.annotation : " InfraMachinePoolTemplate.machinePool.annotationValue"
512
+ spec :
513
+ template :
514
+ metadata :
515
+ labels :
516
+ InfraMachinePoolTemplate.machinePool.template.label : " InfraMachinePoolTemplate.machinePool.labelValue"
517
+ annotations :
518
+ InfraMachinePoolTemplate.machinePool.template.annotation : " InfraMachinePoolTemplate.machinePool.annotationValue"
519
+ spec :
520
+ template :
521
+ extraMounts :
522
+ - containerPath : " /var/run/docker.sock"
523
+ hostPath : " /var/run/docker.sock"
524
+ ---
443
525
apiVersion : bootstrap.cluster.x-k8s.io/v1beta1
444
526
kind : KubeadmConfigTemplate
445
527
metadata :
446
- name : quick-start-default-worker-bootstraptemplate
528
+ name : quick-start-md- default-worker-bootstraptemplate
447
529
labels :
448
530
BootstrapConfigTemplate.machineDeployment.label : " BootstrapConfigTemplate.machineDeployment.labelValue"
449
531
annotations :
@@ -460,3 +542,24 @@ spec:
460
542
nodeRegistration : # node registration parameters are automatically injected by CAPD according to the kindest/node image in use.
461
543
kubeletExtraArgs : # having a not empty kubeletExtraArgs is required for the externalCloudProvider to work
462
544
eviction-hard : ' nodefs.available<0%,nodefs.inodesFree<0%,imagefs.available<0%'
545
+ ---
546
+ apiVersion : bootstrap.cluster.x-k8s.io/v1beta1
547
+ kind : KubeadmConfigTemplate
548
+ metadata :
549
+ name : quick-start-mp-default-worker-bootstraptemplate
550
+ labels :
551
+ BootstrapConfigTemplate.machinePool.label : " BootstrapConfigTemplate.machinePool.template.labelValue"
552
+ annotations :
553
+ BootstrapConfigTemplate.machinePool.annotation : " BootstrapConfigTemplate.machinePool.template.annotationValue"
554
+ spec :
555
+ template :
556
+ metadata :
557
+ labels :
558
+ BootstrapConfigTemplate.machinePool.template.label : " BootstrapConfigTemplate.machinePool.template.labelValue"
559
+ annotations :
560
+ BootstrapConfigTemplate.machinePool.template.annotation : " BootstrapConfigTemplate.machinePool.template.annotationValue"
561
+ spec :
562
+ joinConfiguration :
563
+ nodeRegistration : # node registration parameters are automatically injected by CAPD according to the kindest/node image in use.
564
+ kubeletExtraArgs : # having a not empty kubeletExtraArgs is required for the externalCloudProvider to work
565
+ eviction-hard : ' nodefs.available<0%,nodefs.inodesFree<0%,imagefs.available<0%'
0 commit comments