porkadot 0.21.0 → 0.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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