Skip to content
This repository was archived by the owner on Jul 30, 2021. It is now read-only.

Commit 26d0fbb

Browse files
committed
templates: add toleration to control-plane components
1 parent f196ec5 commit 26d0fbb

File tree

3 files changed

+88
-42
lines changed

3 files changed

+88
-42
lines changed

hack/multi-node/bootkube-up

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ if [ ! -d "cluster" ]; then
2222
../../_output/bin/${local_os}/bootkube render --asset-dir=cluster --api-servers=https://172.17.4.101:443 ${etcd_render_flags}
2323
cp user-data.sample cluster/user-data-worker
2424
cp user-data.sample cluster/user-data-controller
25-
sed -i.bak -e '/--node-labels=node-role.kubernetes.io\/master/d' cluster/user-data-worker
25+
sed -i.bak -e '/node-role.kubernetes.io\/master/d' cluster/user-data-worker
2626
fi
2727

2828
# Start the VM

hack/multi-node/user-data.sample

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ coreos:
3232
--allow-privileged \
3333
--hostname-override=${COREOS_PUBLIC_IPV4} \
3434
--node-labels=node-role.kubernetes.io/master \
35+
--register-with-taints=node-role.kubernetes.io/master:NoSchedule \
3536
--cluster_dns=10.3.0.10 \
3637
--cluster_domain=cluster.local
3738

pkg/asset/internal/templates.go

Lines changed: 86 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,11 @@ spec:
9999
mountPath: /rootfs
100100
hostNetwork: true
101101
hostPID: true
102+
tolerations:
103+
- key: node-role.kubernetes.io/master
104+
operator: Equal
105+
value: ""
106+
effect: NoSchedule
102107
volumes:
103108
- name: dev
104109
hostPath:
@@ -147,12 +152,6 @@ spec:
147152
checkpointer.alpha.coreos.com/checkpoint: "true"
148153
scheduler.alpha.kubernetes.io/critical-pod: ''
149154
spec:
150-
tolerations:
151-
- key: "CriticalAddonsOnly"
152-
operator: "Exists"
153-
nodeSelector:
154-
node-role.kubernetes.io/master: ""
155-
hostNetwork: true
156155
containers:
157156
- name: kube-apiserver
158157
image: quay.io/coreos/hyperkube:v1.6.1_coreos.0
@@ -197,6 +196,16 @@ spec:
197196
- mountPath: /var/lock
198197
name: var-lock
199198
readOnly: false
199+
hostNetwork: true
200+
nodeSelector:
201+
node-role.kubernetes.io/master: ""
202+
tolerations:
203+
- key: CriticalAddonsOnly
204+
operator: Exists
205+
- key: node-role.kubernetes.io/master
206+
operator: Equal
207+
value: ""
208+
effect: NoSchedule
200209
volumes:
201210
- name: ssl-certs-host
202211
hostPath:
@@ -215,7 +224,6 @@ metadata:
215224
name: bootstrap-kube-apiserver
216225
namespace: kube-system
217226
spec:
218-
hostNetwork: true
219227
containers:
220228
- name: kube-apiserver
221229
image: quay.io/coreos/hyperkube:v1.6.1_coreos.0
@@ -252,6 +260,7 @@ spec:
252260
- mountPath: /var/lock
253261
name: var-lock
254262
readOnly: false
263+
hostNetwork: true
255264
volumes:
256265
- name: secrets
257266
hostPath:
@@ -281,9 +290,6 @@ spec:
281290
annotations:
282291
checkpointer.alpha.coreos.com/checkpoint: "true"
283292
spec:
284-
nodeSelector:
285-
node-role.kubernetes.io/master: ""
286-
hostNetwork: true
287293
containers:
288294
- image: quay.io/coreos/kenc:48b6feceeee56c657ea9263f47b6ea091e8d3035
289295
name: kenc
@@ -301,6 +307,14 @@ spec:
301307
- /var/lock/kenc.lock
302308
- -c
303309
- "kenc -r -m iptables && kenc -m iptables"
310+
hostNetwork: true
311+
nodeSelector:
312+
node-role.kubernetes.io/master: ""
313+
tolerations:
314+
- key: node-role.kubernetes.io/master
315+
operator: Equal
316+
value: ""
317+
effect: NoSchedule
304318
volumes:
305319
- name: checkpoint-dir
306320
hostPath:
@@ -327,9 +341,6 @@ spec:
327341
annotations:
328342
checkpointer.alpha.coreos.com/checkpoint: "true"
329343
spec:
330-
nodeSelector:
331-
node-role.kubernetes.io/master: ""
332-
hostNetwork: true
333344
containers:
334345
- name: checkpoint
335346
image: quay.io/coreos/pod-checkpointer:8a6356146761b512cc18ab77c8a421676f641c88
@@ -357,7 +368,14 @@ spec:
357368
- mountPath: /var/run
358369
name: var-run
359370
hostNetwork: true
371+
nodeSelector:
372+
node-role.kubernetes.io/master: ""
360373
restartPolicy: Always
374+
tolerations:
375+
- key: node-role.kubernetes.io/master
376+
operator: Equal
377+
value: ""
378+
effect: NoSchedule
361379
volumes:
362380
- name: etc-kubernetes
363381
hostPath:
@@ -384,9 +402,6 @@ spec:
384402
annotations:
385403
scheduler.alpha.kubernetes.io/critical-pod: ''
386404
spec:
387-
tolerations:
388-
- key: "CriticalAddonsOnly"
389-
operator: "Exists"
390405
affinity:
391406
podAntiAffinity:
392407
preferredDuringSchedulingIgnoredDuringExecution:
@@ -403,8 +418,6 @@ spec:
403418
values:
404419
- kube-contoller-manager
405420
topologyKey: kubernetes.io/hostname
406-
nodeSelector:
407-
node-role.kubernetes.io/master: ""
408421
containers:
409422
- name: kube-controller-manager
410423
image: quay.io/coreos/hyperkube:v1.6.1_coreos.0
@@ -431,6 +444,15 @@ spec:
431444
- name: ssl-host
432445
mountPath: /etc/ssl/certs
433446
readOnly: true
447+
nodeSelector:
448+
node-role.kubernetes.io/master: ""
449+
tolerations:
450+
- key: CriticalAddonsOnly
451+
operator: Exists
452+
- key: node-role.kubernetes.io/master
453+
operator: Equal
454+
value: ""
455+
effect: NoSchedule
434456
volumes:
435457
- name: secrets
436458
secret:
@@ -447,7 +469,6 @@ metadata:
447469
name: bootstrap-kube-controller-manager
448470
namespace: kube-system
449471
spec:
450-
hostNetwork: true
451472
containers:
452473
- name: kube-controller-manager
453474
image: quay.io/coreos/hyperkube:v1.6.1_coreos.0
@@ -468,6 +489,7 @@ spec:
468489
- name: ssl-host
469490
mountPath: /etc/ssl/certs
470491
readOnly: true
492+
hostNetwork: true
471493
volumes:
472494
- name: secrets
473495
hostPath:
@@ -506,9 +528,6 @@ spec:
506528
annotations:
507529
scheduler.alpha.kubernetes.io/critical-pod: ''
508530
spec:
509-
tolerations:
510-
- key: "CriticalAddonsOnly"
511-
operator: "Exists"
512531
affinity:
513532
podAntiAffinity:
514533
preferredDuringSchedulingIgnoredDuringExecution:
@@ -525,8 +544,6 @@ spec:
525544
values:
526545
- kube-scheduler
527546
topologyKey: kubernetes.io/hostname
528-
nodeSelector:
529-
node-role.kubernetes.io/master: ""
530547
containers:
531548
- name: kube-scheduler
532549
image: quay.io/coreos/hyperkube:v1.6.1_coreos.0
@@ -540,7 +557,15 @@ spec:
540557
port: 10251 # Note: Using default port. Update if --port option is set differently.
541558
initialDelaySeconds: 15
542559
timeoutSeconds: 15
543-
560+
nodeSelector:
561+
node-role.kubernetes.io/master: ""
562+
tolerations:
563+
- key: CriticalAddonsOnly
564+
operator: Exists
565+
- key: node-role.kubernetes.io/master
566+
operator: Equal
567+
value: ""
568+
effect: NoSchedule
544569
`)
545570

546571
BootstrapSchedulerTemplate = []byte(`apiVersion: v1
@@ -549,7 +574,6 @@ metadata:
549574
name: bootstrap-kube-scheduler
550575
namespace: kube-system
551576
spec:
552-
hostNetwork: true
553577
containers:
554578
- name: kube-scheduler
555579
image: quay.io/coreos/hyperkube:v1.6.1_coreos.0
@@ -558,6 +582,7 @@ spec:
558582
- scheduler
559583
- --leader-elect=true
560584
- --master=http://127.0.0.1:8080
585+
hostNetwork: true
561586
`)
562587
SchedulerDisruptionTemplate = []byte(`apiVersion: policy/v1beta1
563588
kind: PodDisruptionBudget
@@ -588,10 +613,6 @@ spec:
588613
annotations:
589614
scheduler.alpha.kubernetes.io/critical-pod: ''
590615
spec:
591-
tolerations:
592-
- key: "CriticalAddonsOnly"
593-
operator: "Exists"
594-
hostNetwork: true
595616
containers:
596617
- name: kube-proxy
597618
image: quay.io/coreos/hyperkube:v1.6.1_coreos.0
@@ -616,6 +637,14 @@ spec:
616637
- name: etc-kubernetes
617638
mountPath: /etc/kubernetes
618639
readOnly: true
640+
hostNetwork: true
641+
tolerations:
642+
- key: CriticalAddonsOnly
643+
operator: Exists
644+
- key: node-role.kubernetes.io/master
645+
operator: Equal
646+
value: ""
647+
effect: NoSchedule
619648
volumes:
620649
- hostPath:
621650
path: /usr/share/ca-certificates
@@ -651,14 +680,6 @@ spec:
651680
annotations:
652681
scheduler.alpha.kubernetes.io/critical-pod: ''
653682
spec:
654-
tolerations:
655-
- key: "CriticalAddonsOnly"
656-
operator: "Exists"
657-
volumes:
658-
- name: kube-dns-config
659-
configMap:
660-
name: kube-dns
661-
optional: true
662683
containers:
663684
- name: kubedns
664685
image: gcr.io/google_containers/k8s-dns-kube-dns-amd64:1.14.1
@@ -774,6 +795,20 @@ spec:
774795
memory: 20Mi
775796
cpu: 10m
776797
dnsPolicy: Default # Don't use cluster DNS.
798+
nodeSelector:
799+
node-role.kubernetes.io/master: ""
800+
tolerations:
801+
- key: CriticalAddonsOnly
802+
operator: Exists
803+
- key: node-role.kubernetes.io/master
804+
operator: Equal
805+
value: ""
806+
effect: NoSchedule
807+
volumes:
808+
- name: kube-dns-config
809+
configMap:
810+
name: kube-dns
811+
optional: true
777812
`)
778813
DNSSvcTemplate = []byte(`apiVersion: v1
779814
kind: Service
@@ -823,6 +858,11 @@ spec:
823858
valueFrom:
824859
fieldRef:
825860
fieldPath: metadata.name
861+
tolerations:
862+
- key: node-role.kubernetes.io/master
863+
operator: Equal
864+
value: ""
865+
effect: NoSchedule
826866
`)
827867

828868
EtcdSvcTemplate = []byte(`apiVersion: v1
@@ -849,8 +889,6 @@ metadata:
849889
labels:
850890
k8s-app: boot-etcd
851891
spec:
852-
hostNetwork: true
853-
restartPolicy: Never
854892
containers:
855893
- name: etcd
856894
image: quay.io/coreos/etcd:v3.1.0
@@ -870,6 +908,8 @@ spec:
870908
valueFrom:
871909
fieldRef:
872910
fieldPath: status.podIP
911+
hostNetwork: true
912+
restartPolicy: Never
873913
`)
874914

875915
KubeFlannelCfgTemplate = []byte(`apiVersion: v1
@@ -913,7 +953,6 @@ spec:
913953
tier: node
914954
app: flannel
915955
spec:
916-
hostNetwork: true
917956
containers:
918957
- name: kube-flannel
919958
image: quay.io/coreos/flannel:v0.7.0-amd64
@@ -948,6 +987,12 @@ spec:
948987
mountPath: /etc/cni/net.d
949988
- name: flannel-cfg
950989
mountPath: /etc/kube-flannel/
990+
hostNetwork: true
991+
tolerations:
992+
- key: node-role.kubernetes.io/master
993+
operator: Equal
994+
value: ""
995+
effect: NoSchedule
951996
volumes:
952997
- name: run
953998
hostPath:

0 commit comments

Comments
 (0)