porkadot 0.23.0 → 0.25.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/hack/metallb/crds/kustomization.yaml +5 -0
  3. data/hack/metallb/exclude-l2-config.yaml +8 -0
  4. data/hack/metallb/kustomization.yaml +10 -0
  5. data/hack/update-kubelet-cert-approver.sh +6 -0
  6. data/hack/update-metallb.sh +7 -0
  7. data/lib/porkadot/assets/bootstrap/manifests/kube-apiserver.bootstrap.yaml.erb +1 -1
  8. data/lib/porkadot/assets/etcd/etcd-server.yaml.erb +17 -9
  9. data/lib/porkadot/assets/etcd/etcd.env.erb +4 -0
  10. data/lib/porkadot/assets/etcd/install.sh.erb +1 -0
  11. data/lib/porkadot/assets/etcd.rb +1 -0
  12. data/lib/porkadot/assets/kubelet/config.yaml.erb +1 -39
  13. data/lib/porkadot/assets/kubelet/initiatorname.iscsi.erb +1 -0
  14. data/lib/porkadot/assets/kubelet/kubelet.service.erb +2 -6
  15. data/lib/porkadot/assets/kubelet/metadata.json.erb +5 -0
  16. data/lib/porkadot/assets/{kubelet → kubelet-default}/install-deps.sh.erb +3 -1
  17. data/lib/porkadot/assets/{kubelet → kubelet-default}/install-pkgs.sh.erb +1 -3
  18. data/lib/porkadot/assets/kubelet-default/install.sh.erb +22 -7
  19. data/lib/porkadot/assets/kubelet-default/setup-containerd.sh.erb +22 -0
  20. data/lib/porkadot/assets/kubelet-default/setup-node.sh.erb +16 -0
  21. data/lib/porkadot/assets/kubelet.rb +14 -12
  22. data/lib/porkadot/assets/kubernetes/install.sh.erb +3 -1
  23. data/lib/porkadot/assets/kubernetes/manifests/addons/coredns/coredns.yaml.erb +1 -1
  24. data/lib/porkadot/assets/kubernetes/manifests/addons/coredns/dns-horizontal-autoscaler.yaml.erb +1 -1
  25. data/lib/porkadot/assets/kubernetes/manifests/addons/flannel/flannel.yaml.erb +12 -51
  26. data/lib/porkadot/assets/kubernetes/manifests/addons/kubelet-serving-cert-approver/kustomization.yaml.erb +3 -0
  27. data/lib/porkadot/assets/kubernetes/manifests/addons/kubelet-serving-cert-approver/src.yaml.erb +210 -0
  28. data/lib/porkadot/assets/kubernetes/manifests/addons/metallb/000-metallb.yaml.erb +3 -1
  29. data/lib/porkadot/assets/kubernetes/manifests/addons/metallb/crds.yaml +1272 -0
  30. data/lib/porkadot/assets/kubernetes/manifests/addons/metallb/metallb.config.yaml.erb +1 -12
  31. data/lib/porkadot/assets/kubernetes/manifests/addons/metallb/metallb.yaml.erb +507 -252
  32. data/lib/porkadot/assets/kubernetes/manifests/kube-apiserver.yaml.erb +4 -1
  33. data/lib/porkadot/assets/kubernetes/manifests/kube-controller-manager.yaml.erb +3 -0
  34. data/lib/porkadot/assets/kubernetes/manifests/kube-scheduler.yaml.erb +3 -1
  35. data/lib/porkadot/assets/kubernetes.rb +22 -1
  36. data/lib/porkadot/config.rb +1 -1
  37. data/lib/porkadot/configs/addons.rb +4 -0
  38. data/lib/porkadot/configs/etcd.rb +9 -0
  39. data/lib/porkadot/configs/kubelet.rb +25 -7
  40. data/lib/porkadot/default.yaml +17 -15
  41. data/lib/porkadot/install/bootstrap.rb +1 -1
  42. data/lib/porkadot/install/kubelet.rb +24 -40
  43. data/lib/porkadot/version.rb +1 -1
  44. data/lib/porkadot.rb +1 -0
  45. metadata +17 -7
  46. data/lib/porkadot/assets/kubelet/install.sh.erb +0 -35
  47. data/lib/porkadot/assets/kubelet/setup-containerd.sh.erb +0 -17
  48. data/lib/porkadot/assets/kubernetes/manifests/addons/metallb/metallb.yaml +0 -480
@@ -1,480 +0,0 @@
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