porkadot 0.21.0 → 0.23.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/lib/porkadot/assets/bootstrap/manifests/kube-apiserver.bootstrap.yaml.erb +32 -0
  3. data/lib/porkadot/assets/bootstrap/manifests/kube-controller-manager.bootstrap.yaml.erb +23 -0
  4. data/lib/porkadot/assets/bootstrap/manifests/kube-scheduler.bootstrap.yaml.erb +23 -0
  5. data/lib/porkadot/assets/kubelet/install-deps.sh.erb +9 -0
  6. data/lib/porkadot/assets/kubelet/setup-containerd.sh.erb +8 -1
  7. data/lib/porkadot/assets/kubelet-default/install.sh.erb +14 -0
  8. data/lib/porkadot/assets/kubelet.rb +32 -0
  9. data/lib/porkadot/assets/kubernetes/install.secrets.sh.erb +8 -0
  10. data/lib/porkadot/assets/kubernetes/install.sh.erb +8 -1
  11. data/lib/porkadot/assets/kubernetes/kustomization.yaml.erb +7 -0
  12. data/lib/porkadot/assets/kubernetes/manifests/{coredns.yaml.erb → addons/coredns/coredns.yaml.erb} +2 -1
  13. data/lib/porkadot/assets/kubernetes/manifests/{dns-horizontal-autoscaler.yaml.erb → addons/coredns/dns-horizontal-autoscaler.yaml.erb} +0 -2
  14. data/lib/porkadot/assets/kubernetes/manifests/addons/coredns/kustomization.yaml.erb +3 -0
  15. data/lib/porkadot/assets/kubernetes/manifests/{flannel.yaml.erb → addons/flannel/flannel.yaml.erb} +39 -10
  16. data/lib/porkadot/assets/kubernetes/manifests/addons/flannel/kustomization.yaml.erb +2 -0
  17. data/lib/porkadot/assets/kubernetes/manifests/{kubelet-rubber-stamp.yaml.erb → addons/kubelet-rubber-stamp/kubelet-rubber-stamp.yaml.erb} +1 -1
  18. data/lib/porkadot/assets/kubernetes/manifests/addons/kubelet-rubber-stamp/kustomization.yaml.erb +2 -0
  19. data/lib/porkadot/assets/kubernetes/manifests/addons/kustomization.yaml.erb +4 -0
  20. data/lib/porkadot/assets/kubernetes/manifests/{000-metallb.yaml.erb → addons/metallb/000-metallb.yaml.erb} +0 -0
  21. data/lib/porkadot/assets/kubernetes/manifests/addons/metallb/kustomization.yaml.erb +6 -0
  22. data/lib/porkadot/assets/kubernetes/manifests/{metallb.config.yaml.erb → addons/metallb/metallb.config.yaml.erb} +1 -2
  23. data/lib/porkadot/assets/kubernetes/manifests/addons/metallb/metallb.yaml +480 -0
  24. data/lib/porkadot/assets/kubernetes/manifests/{metallb.yaml.erb → addons/metallb/metallb.yaml.erb} +41 -4
  25. data/lib/porkadot/assets/kubernetes/manifests/addons/storage-version-migrator/kustomization.yaml.erb +2 -0
  26. data/lib/porkadot/assets/kubernetes/manifests/{storage-version-migrator.yaml.erb → addons/storage-version-migrator/storage-version-migrator.yaml.erb} +0 -0
  27. data/lib/porkadot/assets/kubernetes/manifests/kube-apiserver.yaml.erb +32 -0
  28. data/lib/porkadot/assets/kubernetes/manifests/kube-controller-manager.yaml.erb +20 -6
  29. data/lib/porkadot/assets/kubernetes/manifests/kube-scheduler.yaml.erb +20 -6
  30. data/lib/porkadot/assets/kubernetes/manifests/kubelet.yaml.erb +0 -1
  31. data/lib/porkadot/assets/kubernetes/manifests/kustomization.yaml.erb +8 -0
  32. data/lib/porkadot/assets/kubernetes.rb +91 -18
  33. data/lib/porkadot/assets.rb +13 -3
  34. data/lib/porkadot/cmd/cli.rb +27 -0
  35. data/lib/porkadot/cmd/etcd.rb +68 -0
  36. data/lib/porkadot/cmd/install.rb +15 -0
  37. data/lib/porkadot/config.rb +9 -5
  38. data/lib/porkadot/configs/addons.rb +21 -0
  39. data/lib/porkadot/configs/certs.rb +3 -0
  40. data/lib/porkadot/configs/etcd.rb +35 -2
  41. data/lib/porkadot/configs/kubelet.rb +26 -0
  42. data/lib/porkadot/configs/kubernetes.rb +27 -10
  43. data/lib/porkadot/const.rb +3 -0
  44. data/lib/porkadot/default.yaml +24 -6
  45. data/lib/porkadot/install/kubelet.rb +137 -0
  46. data/lib/porkadot/install/kubernetes.rb +2 -2
  47. data/lib/porkadot/version.rb +1 -1
  48. data/lib/porkadot.rb +2 -2
  49. data/porkadot.gemspec +1 -0
  50. metadata +38 -14
  51. data/lib/porkadot/assets/kubernetes/manifests/metallb.secrets.yaml.erb +0 -13
  52. data/lib/porkadot/configs/cni.rb +0 -22
  53. data/lib/porkadot/configs/loadbalancer.rb +0 -26
@@ -0,0 +1,480 @@
1
+ apiVersion: policy/v1beta1
2
+ kind: PodSecurityPolicy
3
+ metadata:
4
+ labels:
5
+ app: metallb
6
+ name: controller
7
+ spec:
8
+ allowPrivilegeEscalation: false
9
+ allowedCapabilities: []
10
+ allowedHostPaths: []
11
+ defaultAddCapabilities: []
12
+ defaultAllowPrivilegeEscalation: false
13
+ fsGroup:
14
+ ranges:
15
+ - max: 65535
16
+ min: 1
17
+ rule: MustRunAs
18
+ hostIPC: false
19
+ hostNetwork: false
20
+ hostPID: false
21
+ privileged: false
22
+ readOnlyRootFilesystem: true
23
+ requiredDropCapabilities:
24
+ - ALL
25
+ runAsUser:
26
+ ranges:
27
+ - max: 65535
28
+ min: 1
29
+ rule: MustRunAs
30
+ seLinux:
31
+ rule: RunAsAny
32
+ supplementalGroups:
33
+ ranges:
34
+ - max: 65535
35
+ min: 1
36
+ rule: MustRunAs
37
+ volumes:
38
+ - configMap
39
+ - secret
40
+ - emptyDir
41
+ ---
42
+ apiVersion: policy/v1beta1
43
+ kind: PodSecurityPolicy
44
+ metadata:
45
+ labels:
46
+ app: metallb
47
+ name: speaker
48
+ spec:
49
+ allowPrivilegeEscalation: false
50
+ allowedCapabilities:
51
+ - NET_RAW
52
+ allowedHostPaths: []
53
+ defaultAddCapabilities: []
54
+ defaultAllowPrivilegeEscalation: false
55
+ fsGroup:
56
+ rule: RunAsAny
57
+ hostIPC: false
58
+ hostNetwork: true
59
+ hostPID: false
60
+ hostPorts:
61
+ - max: 7472
62
+ min: 7472
63
+ - max: 7946
64
+ min: 7946
65
+ privileged: true
66
+ readOnlyRootFilesystem: true
67
+ requiredDropCapabilities:
68
+ - ALL
69
+ runAsUser:
70
+ rule: RunAsAny
71
+ seLinux:
72
+ rule: RunAsAny
73
+ supplementalGroups:
74
+ rule: RunAsAny
75
+ volumes:
76
+ - configMap
77
+ - secret
78
+ - emptyDir
79
+ ---
80
+ apiVersion: v1
81
+ kind: ServiceAccount
82
+ metadata:
83
+ labels:
84
+ app: metallb
85
+ name: controller
86
+ namespace: metallb-system
87
+ ---
88
+ apiVersion: v1
89
+ kind: ServiceAccount
90
+ metadata:
91
+ labels:
92
+ app: metallb
93
+ name: speaker
94
+ namespace: metallb-system
95
+ ---
96
+ apiVersion: rbac.authorization.k8s.io/v1
97
+ kind: ClusterRole
98
+ metadata:
99
+ labels:
100
+ app: metallb
101
+ name: metallb-system:controller
102
+ rules:
103
+ - apiGroups:
104
+ - ''
105
+ resources:
106
+ - services
107
+ verbs:
108
+ - get
109
+ - list
110
+ - watch
111
+ - apiGroups:
112
+ - ''
113
+ resources:
114
+ - services/status
115
+ verbs:
116
+ - update
117
+ - apiGroups:
118
+ - ''
119
+ resources:
120
+ - events
121
+ verbs:
122
+ - create
123
+ - patch
124
+ - apiGroups:
125
+ - policy
126
+ resourceNames:
127
+ - controller
128
+ resources:
129
+ - podsecuritypolicies
130
+ verbs:
131
+ - use
132
+ ---
133
+ apiVersion: rbac.authorization.k8s.io/v1
134
+ kind: ClusterRole
135
+ metadata:
136
+ labels:
137
+ app: metallb
138
+ name: metallb-system:speaker
139
+ rules:
140
+ - apiGroups:
141
+ - ''
142
+ resources:
143
+ - services
144
+ - endpoints
145
+ - nodes
146
+ verbs:
147
+ - get
148
+ - list
149
+ - watch
150
+ - apiGroups: ["discovery.k8s.io"]
151
+ resources:
152
+ - endpointslices
153
+ verbs:
154
+ - get
155
+ - list
156
+ - watch
157
+ - apiGroups:
158
+ - ''
159
+ resources:
160
+ - events
161
+ verbs:
162
+ - create
163
+ - patch
164
+ - apiGroups:
165
+ - policy
166
+ resourceNames:
167
+ - speaker
168
+ resources:
169
+ - podsecuritypolicies
170
+ verbs:
171
+ - use
172
+ ---
173
+ apiVersion: rbac.authorization.k8s.io/v1
174
+ kind: Role
175
+ metadata:
176
+ labels:
177
+ app: metallb
178
+ name: config-watcher
179
+ namespace: metallb-system
180
+ rules:
181
+ - apiGroups:
182
+ - ''
183
+ resources:
184
+ - configmaps
185
+ verbs:
186
+ - get
187
+ - list
188
+ - watch
189
+ ---
190
+ apiVersion: rbac.authorization.k8s.io/v1
191
+ kind: Role
192
+ metadata:
193
+ labels:
194
+ app: metallb
195
+ name: pod-lister
196
+ namespace: metallb-system
197
+ rules:
198
+ - apiGroups:
199
+ - ''
200
+ resources:
201
+ - pods
202
+ verbs:
203
+ - list
204
+ ---
205
+ apiVersion: rbac.authorization.k8s.io/v1
206
+ kind: Role
207
+ metadata:
208
+ labels:
209
+ app: metallb
210
+ name: controller
211
+ namespace: metallb-system
212
+ rules:
213
+ - apiGroups:
214
+ - ''
215
+ resources:
216
+ - secrets
217
+ verbs:
218
+ - create
219
+ - apiGroups:
220
+ - ''
221
+ resources:
222
+ - secrets
223
+ resourceNames:
224
+ - memberlist
225
+ verbs:
226
+ - list
227
+ - apiGroups:
228
+ - apps
229
+ resources:
230
+ - deployments
231
+ resourceNames:
232
+ - controller
233
+ verbs:
234
+ - get
235
+ ---
236
+ apiVersion: rbac.authorization.k8s.io/v1
237
+ kind: ClusterRoleBinding
238
+ metadata:
239
+ labels:
240
+ app: metallb
241
+ name: metallb-system:controller
242
+ roleRef:
243
+ apiGroup: rbac.authorization.k8s.io
244
+ kind: ClusterRole
245
+ name: metallb-system:controller
246
+ subjects:
247
+ - kind: ServiceAccount
248
+ name: controller
249
+ namespace: metallb-system
250
+ ---
251
+ apiVersion: rbac.authorization.k8s.io/v1
252
+ kind: ClusterRoleBinding
253
+ metadata:
254
+ labels:
255
+ app: metallb
256
+ name: metallb-system:speaker
257
+ roleRef:
258
+ apiGroup: rbac.authorization.k8s.io
259
+ kind: ClusterRole
260
+ name: metallb-system:speaker
261
+ subjects:
262
+ - kind: ServiceAccount
263
+ name: speaker
264
+ namespace: metallb-system
265
+ ---
266
+ apiVersion: rbac.authorization.k8s.io/v1
267
+ kind: RoleBinding
268
+ metadata:
269
+ labels:
270
+ app: metallb
271
+ name: config-watcher
272
+ namespace: metallb-system
273
+ roleRef:
274
+ apiGroup: rbac.authorization.k8s.io
275
+ kind: Role
276
+ name: config-watcher
277
+ subjects:
278
+ - kind: ServiceAccount
279
+ name: controller
280
+ - kind: ServiceAccount
281
+ name: speaker
282
+ ---
283
+ apiVersion: rbac.authorization.k8s.io/v1
284
+ kind: RoleBinding
285
+ metadata:
286
+ labels:
287
+ app: metallb
288
+ name: pod-lister
289
+ namespace: metallb-system
290
+ roleRef:
291
+ apiGroup: rbac.authorization.k8s.io
292
+ kind: Role
293
+ name: pod-lister
294
+ subjects:
295
+ - kind: ServiceAccount
296
+ name: speaker
297
+ ---
298
+ apiVersion: rbac.authorization.k8s.io/v1
299
+ kind: RoleBinding
300
+ metadata:
301
+ labels:
302
+ app: metallb
303
+ name: controller
304
+ namespace: metallb-system
305
+ roleRef:
306
+ apiGroup: rbac.authorization.k8s.io
307
+ kind: Role
308
+ name: controller
309
+ subjects:
310
+ - kind: ServiceAccount
311
+ name: controller
312
+ ---
313
+ apiVersion: apps/v1
314
+ kind: DaemonSet
315
+ metadata:
316
+ labels:
317
+ app: metallb
318
+ component: speaker
319
+ name: speaker
320
+ namespace: metallb-system
321
+ spec:
322
+ selector:
323
+ matchLabels:
324
+ app: metallb
325
+ component: speaker
326
+ template:
327
+ metadata:
328
+ annotations:
329
+ prometheus.io/port: '7472'
330
+ prometheus.io/scrape: 'true'
331
+ labels:
332
+ app: metallb
333
+ component: speaker
334
+ spec:
335
+ containers:
336
+ - args:
337
+ - --port=7472
338
+ - --config=config
339
+ - --log-level=info
340
+ env:
341
+ - name: METALLB_NODE_NAME
342
+ valueFrom:
343
+ fieldRef:
344
+ fieldPath: spec.nodeName
345
+ - name: METALLB_HOST
346
+ valueFrom:
347
+ fieldRef:
348
+ fieldPath: status.hostIP
349
+ - name: METALLB_ML_BIND_ADDR
350
+ valueFrom:
351
+ fieldRef:
352
+ fieldPath: status.podIP
353
+ # needed when another software is also using memberlist / port 7946
354
+ # when changing this default you also need to update the container ports definition
355
+ # and the PodSecurityPolicy hostPorts definition
356
+ #- name: METALLB_ML_BIND_PORT
357
+ # value: "7946"
358
+ - name: METALLB_ML_LABELS
359
+ value: "app=metallb,component=speaker"
360
+ - name: METALLB_ML_SECRET_KEY
361
+ valueFrom:
362
+ secretKeyRef:
363
+ name: memberlist
364
+ key: secretkey
365
+ image: quay.io/metallb/speaker:v0.12.1
366
+ name: speaker
367
+ ports:
368
+ - containerPort: 7472
369
+ name: monitoring
370
+ - containerPort: 7946
371
+ name: memberlist-tcp
372
+ - containerPort: 7946
373
+ name: memberlist-udp
374
+ protocol: UDP
375
+ livenessProbe:
376
+ httpGet:
377
+ path: /metrics
378
+ port: monitoring
379
+ initialDelaySeconds: 10
380
+ periodSeconds: 10
381
+ timeoutSeconds: 1
382
+ successThreshold: 1
383
+ failureThreshold: 3
384
+ readinessProbe:
385
+ httpGet:
386
+ path: /metrics
387
+ port: monitoring
388
+ initialDelaySeconds: 10
389
+ periodSeconds: 10
390
+ timeoutSeconds: 1
391
+ successThreshold: 1
392
+ failureThreshold: 3
393
+ securityContext:
394
+ allowPrivilegeEscalation: false
395
+ capabilities:
396
+ add:
397
+ - NET_RAW
398
+ drop:
399
+ - ALL
400
+ readOnlyRootFilesystem: true
401
+ hostNetwork: true
402
+ nodeSelector:
403
+ kubernetes.io/os: linux
404
+ serviceAccountName: speaker
405
+ terminationGracePeriodSeconds: 2
406
+ tolerations:
407
+ - effect: NoSchedule
408
+ key: node-role.kubernetes.io/master
409
+ operator: Exists
410
+ ---
411
+ apiVersion: apps/v1
412
+ kind: Deployment
413
+ metadata:
414
+ labels:
415
+ app: metallb
416
+ component: controller
417
+ name: controller
418
+ namespace: metallb-system
419
+ spec:
420
+ revisionHistoryLimit: 3
421
+ selector:
422
+ matchLabels:
423
+ app: metallb
424
+ component: controller
425
+ template:
426
+ metadata:
427
+ annotations:
428
+ prometheus.io/port: '7472'
429
+ prometheus.io/scrape: 'true'
430
+ labels:
431
+ app: metallb
432
+ component: controller
433
+ spec:
434
+ containers:
435
+ - args:
436
+ - --port=7472
437
+ - --config=config
438
+ - --log-level=info
439
+ env:
440
+ - name: METALLB_ML_SECRET_NAME
441
+ value: memberlist
442
+ - name: METALLB_DEPLOYMENT
443
+ value: controller
444
+ image: quay.io/metallb/controller:v0.12.1
445
+ name: controller
446
+ ports:
447
+ - containerPort: 7472
448
+ name: monitoring
449
+ livenessProbe:
450
+ httpGet:
451
+ path: /metrics
452
+ port: monitoring
453
+ initialDelaySeconds: 10
454
+ periodSeconds: 10
455
+ timeoutSeconds: 1
456
+ successThreshold: 1
457
+ failureThreshold: 3
458
+ readinessProbe:
459
+ httpGet:
460
+ path: /metrics
461
+ port: monitoring
462
+ initialDelaySeconds: 10
463
+ periodSeconds: 10
464
+ timeoutSeconds: 1
465
+ successThreshold: 1
466
+ failureThreshold: 3
467
+ securityContext:
468
+ allowPrivilegeEscalation: false
469
+ capabilities:
470
+ drop:
471
+ - all
472
+ readOnlyRootFilesystem: true
473
+ nodeSelector:
474
+ kubernetes.io/os: linux
475
+ securityContext:
476
+ runAsNonRoot: true
477
+ runAsUser: 65534
478
+ fsGroup: 65534
479
+ serviceAccountName: controller
480
+ terminationGracePeriodSeconds: 0
@@ -4,7 +4,6 @@ metadata:
4
4
  labels:
5
5
  app: metallb
6
6
  name: controller
7
- namespace: metallb-system
8
7
  spec:
9
8
  allowPrivilegeEscalation: false
10
9
  allowedCapabilities: []
@@ -46,7 +45,6 @@ metadata:
46
45
  labels:
47
46
  app: metallb
48
47
  name: speaker
49
- namespace: metallb-system
50
48
  spec:
51
49
  allowPrivilegeEscalation: false
52
50
  allowedCapabilities:
@@ -338,6 +336,7 @@ spec:
338
336
  - args:
339
337
  - --port=7472
340
338
  - --config=config
339
+ - --log-level=info
341
340
  env:
342
341
  - name: METALLB_NODE_NAME
343
342
  valueFrom:
@@ -363,7 +362,7 @@ spec:
363
362
  secretKeyRef:
364
363
  name: memberlist
365
364
  key: secretkey
366
- image: quay.io/metallb/speaker:v0.10.2
365
+ image: quay.io/metallb/speaker:v0.12.1
367
366
  name: speaker
368
367
  ports:
369
368
  - containerPort: 7472
@@ -373,6 +372,24 @@ spec:
373
372
  - containerPort: 7946
374
373
  name: memberlist-udp
375
374
  protocol: UDP
375
+ livenessProbe:
376
+ httpGet:
377
+ path: /metrics
378
+ port: monitoring
379
+ initialDelaySeconds: 10
380
+ periodSeconds: 10
381
+ timeoutSeconds: 1
382
+ successThreshold: 1
383
+ failureThreshold: 3
384
+ readinessProbe:
385
+ httpGet:
386
+ path: /metrics
387
+ port: monitoring
388
+ initialDelaySeconds: 10
389
+ periodSeconds: 10
390
+ timeoutSeconds: 1
391
+ successThreshold: 1
392
+ failureThreshold: 3
376
393
  securityContext:
377
394
  allowPrivilegeEscalation: false
378
395
  capabilities:
@@ -418,16 +435,35 @@ spec:
418
435
  - args:
419
436
  - --port=7472
420
437
  - --config=config
438
+ - --log-level=info
421
439
  env:
422
440
  - name: METALLB_ML_SECRET_NAME
423
441
  value: memberlist
424
442
  - name: METALLB_DEPLOYMENT
425
443
  value: controller
426
- image: quay.io/metallb/controller:v0.10.2
444
+ image: quay.io/metallb/controller:v0.12.1
427
445
  name: controller
428
446
  ports:
429
447
  - containerPort: 7472
430
448
  name: monitoring
449
+ livenessProbe:
450
+ httpGet:
451
+ path: /metrics
452
+ port: monitoring
453
+ initialDelaySeconds: 10
454
+ periodSeconds: 10
455
+ timeoutSeconds: 1
456
+ successThreshold: 1
457
+ failureThreshold: 3
458
+ readinessProbe:
459
+ httpGet:
460
+ path: /metrics
461
+ port: monitoring
462
+ initialDelaySeconds: 10
463
+ periodSeconds: 10
464
+ timeoutSeconds: 1
465
+ successThreshold: 1
466
+ failureThreshold: 3
431
467
  securityContext:
432
468
  allowPrivilegeEscalation: false
433
469
  capabilities:
@@ -439,5 +475,6 @@ spec:
439
475
  securityContext:
440
476
  runAsNonRoot: true
441
477
  runAsUser: 65534
478
+ fsGroup: 65534
442
479
  serviceAccountName: controller
443
480
  terminationGracePeriodSeconds: 0
@@ -0,0 +1,2 @@
1
+ resources:
2
+ - storage-version-migrator.yaml
@@ -24,6 +24,9 @@ spec:
24
24
  annotations:
25
25
  checkpointer.alpha.coreos.com/checkpoint: "true"
26
26
  spec:
27
+ securityContext:
28
+ seccompProfile:
29
+ type: RuntimeDefault
27
30
  containers:
28
31
  - name: kube-apiserver
29
32
  resources:
@@ -35,6 +38,35 @@ spec:
35
38
  <%- k8s.apiserver.args.each do |k, v| -%>
36
39
  - <%= k %><% if v ;%>=<%= v %><%; end %>
37
40
  <%- end -%>
41
+ livenessProbe:
42
+ failureThreshold: 8
43
+ httpGet:
44
+ host: 127.0.0.1
45
+ path: /livez
46
+ port: 6443
47
+ scheme: HTTPS
48
+ initialDelaySeconds: 10
49
+ periodSeconds: 10
50
+ timeoutSeconds: 15
51
+ readinessProbe:
52
+ failureThreshold: 3
53
+ httpGet:
54
+ host: 127.0.0.1
55
+ path: /readyz
56
+ port: 6443
57
+ scheme: HTTPS
58
+ periodSeconds: 1
59
+ timeoutSeconds: 15
60
+ startupProbe:
61
+ failureThreshold: 24
62
+ httpGet:
63
+ host: 127.0.0.1
64
+ path: /livez
65
+ port: 6443
66
+ scheme: HTTPS
67
+ initialDelaySeconds: 10
68
+ periodSeconds: 10
69
+ timeoutSeconds: 15
38
70
  env:
39
71
  - name: POD_IP
40
72
  valueFrom:
@@ -1,6 +1,6 @@
1
1
  <% k8s = global_config.k8s -%>
2
2
  ---
3
- apiVersion: policy/v1beta1
3
+ apiVersion: policy/v1
4
4
  kind: PodDisruptionBudget
5
5
  metadata:
6
6
  name: kube-controller-manager
@@ -69,6 +69,11 @@ spec:
69
69
  annotations:
70
70
  scheduler.alpha.kubernetes.io/critical-pod: ''
71
71
  spec:
72
+ securityContext:
73
+ seccompProfile:
74
+ type: RuntimeDefault
75
+ runAsNonRoot: true
76
+ runAsUser: 65534
72
77
  affinity:
73
78
  podAntiAffinity:
74
79
  preferredDuringSchedulingIgnoredDuringExecution:
@@ -97,10 +102,22 @@ spec:
97
102
  - <%= k %><% if v ;%>=<%= v %><%; end %>
98
103
  <%- end -%>
99
104
  livenessProbe:
105
+ failureThreshold: 8
100
106
  httpGet:
101
107
  path: /healthz
102
- port: 10252 # Note: Using default port. Update if --port option is set differently.
103
- initialDelaySeconds: 15
108
+ port: 10257
109
+ scheme: HTTPS
110
+ initialDelaySeconds: 10
111
+ periodSeconds: 10
112
+ timeoutSeconds: 15
113
+ startupProbe:
114
+ failureThreshold: 24
115
+ httpGet:
116
+ path: /healthz
117
+ port: 10257
118
+ scheme: HTTPS
119
+ initialDelaySeconds: 10
120
+ periodSeconds: 10
104
121
  timeoutSeconds: 15
105
122
  volumeMounts:
106
123
  - name: var-run-kubernetes
@@ -122,9 +139,6 @@ spec:
122
139
  priorityClassName: system-cluster-critical
123
140
  nodeSelector:
124
141
  k8s.unstable.cloud/master: ""
125
- securityContext:
126
- runAsNonRoot: true
127
- runAsUser: 65534
128
142
  serviceAccountName: kube-controller-manager
129
143
  tolerations:
130
144
  - key: CriticalAddonsOnly