porkadot 0.2.0 → 0.19.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 (28) hide show
  1. checksums.yaml +4 -4
  2. data/hack/gen-storage-version-migrator.sh +7 -0
  3. data/hack/storage-version-migrator/kustomization.yaml +13 -0
  4. data/lib/porkadot/assets.rb +9 -0
  5. data/lib/porkadot/assets/etcd.rb +1 -1
  6. data/lib/porkadot/assets/etcd/etcd-server.yaml.erb +2 -0
  7. data/lib/porkadot/assets/kubelet/config.yaml.erb +3 -0
  8. data/lib/porkadot/assets/kubelet/install-deps.sh.erb +11 -0
  9. data/lib/porkadot/assets/kubelet/install-pkgs.sh.erb +25 -2
  10. data/lib/porkadot/assets/kubelet/kubelet.service.erb +3 -1
  11. data/lib/porkadot/assets/kubernetes.rb +4 -1
  12. data/lib/porkadot/assets/kubernetes/manifests/coredns.yaml.erb +209 -0
  13. data/lib/porkadot/assets/kubernetes/manifests/dns-horizontal-autoscaler.yaml.erb +110 -0
  14. data/lib/porkadot/assets/kubernetes/manifests/flannel.yaml.erb +52 -431
  15. data/lib/porkadot/assets/kubernetes/manifests/kube-scheduler.yaml.erb +1 -1
  16. data/lib/porkadot/assets/kubernetes/manifests/kubelet-rubber-stamp.yaml.erb +12 -3
  17. data/lib/porkadot/assets/kubernetes/manifests/metallb.secrets.yaml.erb +13 -0
  18. data/lib/porkadot/assets/kubernetes/manifests/metallb.yaml.erb +116 -26
  19. data/lib/porkadot/assets/kubernetes/manifests/porkadot.yaml.erb +23 -1
  20. data/lib/porkadot/assets/kubernetes/manifests/storage-version-migrator.yaml.erb +354 -0
  21. data/lib/porkadot/cmd/render/certs.rb +1 -1
  22. data/lib/porkadot/configs/certs.rb +1 -1
  23. data/lib/porkadot/configs/certs/k8s.rb +6 -0
  24. data/lib/porkadot/configs/kubernetes.rb +1 -0
  25. data/lib/porkadot/default.yaml +4 -3
  26. data/lib/porkadot/version.rb +1 -1
  27. metadata +8 -3
  28. data/lib/porkadot/assets/kubernetes/manifests/pod-checkpointer.yaml.erb +0 -130
@@ -11,14 +11,14 @@ metadata:
11
11
  spec:
12
12
  privileged: false
13
13
  volumes:
14
- - configMap
15
- - secret
16
- - emptyDir
17
- - hostPath
14
+ - configMap
15
+ - secret
16
+ - emptyDir
17
+ - hostPath
18
18
  allowedHostPaths:
19
- - pathPrefix: "/etc/cni/net.d"
20
- - pathPrefix: "/etc/kube-flannel"
21
- - pathPrefix: "/run/flannel"
19
+ - pathPrefix: "/etc/cni/net.d"
20
+ - pathPrefix: "/etc/kube-flannel"
21
+ - pathPrefix: "/run/flannel"
22
22
  readOnlyRootFilesystem: false
23
23
  # Users and groups
24
24
  runAsUser:
@@ -31,7 +31,7 @@ spec:
31
31
  allowPrivilegeEscalation: false
32
32
  defaultAllowPrivilegeEscalation: false
33
33
  # Capabilities
34
- allowedCapabilities: ['NET_ADMIN']
34
+ allowedCapabilities: ['NET_ADMIN', 'NET_RAW']
35
35
  defaultAddCapabilities: []
36
36
  requiredDropCapabilities: []
37
37
  # Host namespaces
@@ -47,36 +47,36 @@ spec:
47
47
  rule: 'RunAsAny'
48
48
  ---
49
49
  kind: ClusterRole
50
- apiVersion: rbac.authorization.k8s.io/v1beta1
50
+ apiVersion: rbac.authorization.k8s.io/v1
51
51
  metadata:
52
52
  name: flannel
53
53
  rules:
54
- - apiGroups: ['extensions']
55
- resources: ['podsecuritypolicies']
56
- verbs: ['use']
57
- resourceNames: ['psp.flannel.unprivileged']
58
- - apiGroups:
59
- - ""
60
- resources:
61
- - pods
62
- verbs:
63
- - get
64
- - apiGroups:
65
- - ""
66
- resources:
67
- - nodes
68
- verbs:
69
- - list
70
- - watch
71
- - apiGroups:
72
- - ""
73
- resources:
74
- - nodes/status
75
- verbs:
76
- - patch
54
+ - apiGroups: ['extensions']
55
+ resources: ['podsecuritypolicies']
56
+ verbs: ['use']
57
+ resourceNames: ['psp.flannel.unprivileged']
58
+ - apiGroups:
59
+ - ""
60
+ resources:
61
+ - pods
62
+ verbs:
63
+ - get
64
+ - apiGroups:
65
+ - ""
66
+ resources:
67
+ - nodes
68
+ verbs:
69
+ - list
70
+ - watch
71
+ - apiGroups:
72
+ - ""
73
+ resources:
74
+ - nodes/status
75
+ verbs:
76
+ - patch
77
77
  ---
78
78
  kind: ClusterRoleBinding
79
- apiVersion: rbac.authorization.k8s.io/v1beta1
79
+ apiVersion: rbac.authorization.k8s.io/v1
80
80
  metadata:
81
81
  name: flannel
82
82
  roleRef:
@@ -134,7 +134,7 @@ data:
134
134
  apiVersion: apps/v1
135
135
  kind: DaemonSet
136
136
  metadata:
137
- name: kube-flannel-ds-amd64
137
+ name: kube-flannel-ds
138
138
  namespace: kube-system
139
139
  labels:
140
140
  tier: node
@@ -153,23 +153,20 @@ spec:
153
153
  nodeAffinity:
154
154
  requiredDuringSchedulingIgnoredDuringExecution:
155
155
  nodeSelectorTerms:
156
- - matchExpressions:
157
- - key: beta.kubernetes.io/os
158
- operator: In
159
- values:
160
- - linux
161
- - key: beta.kubernetes.io/arch
162
- operator: In
163
- values:
164
- - amd64
156
+ - matchExpressions:
157
+ - key: kubernetes.io/os
158
+ operator: In
159
+ values:
160
+ - linux
165
161
  hostNetwork: true
162
+ priorityClassName: system-node-critical
166
163
  tolerations:
167
164
  - operator: Exists
168
165
  effect: NoSchedule
169
166
  serviceAccountName: flannel
170
167
  initContainers:
171
168
  - name: install-cni
172
- image: quay.io/coreos/flannel:v0.12.0-amd64
169
+ image: quay.io/coreos/flannel:v0.13.0
173
170
  command:
174
171
  - cp
175
172
  args:
@@ -183,7 +180,7 @@ spec:
183
180
  mountPath: /etc/kube-flannel/
184
181
  containers:
185
182
  - name: kube-flannel
186
- image: quay.io/coreos/flannel:v0.12.0-amd64
183
+ image: quay.io/coreos/flannel:v0.13.0
187
184
  command:
188
185
  - /opt/bin/flanneld
189
186
  args:
@@ -199,7 +196,7 @@ spec:
199
196
  securityContext:
200
197
  privileged: false
201
198
  capabilities:
202
- add: ["NET_ADMIN"]
199
+ add: ["NET_ADMIN", "NET_RAW"]
203
200
  env:
204
201
  - name: POD_NAME
205
202
  valueFrom:
@@ -215,388 +212,12 @@ spec:
215
212
  - name: flannel-cfg
216
213
  mountPath: /etc/kube-flannel/
217
214
  volumes:
218
- - name: run
219
- hostPath:
220
- path: /run/flannel
221
- - name: cni
222
- hostPath:
223
- path: /etc/cni/net.d
224
- - name: flannel-cfg
225
- configMap:
226
- name: kube-flannel-cfg
227
- ---
228
- apiVersion: apps/v1
229
- kind: DaemonSet
230
- metadata:
231
- name: kube-flannel-ds-arm64
232
- namespace: kube-system
233
- labels:
234
- tier: node
235
- app: flannel
236
- spec:
237
- selector:
238
- matchLabels:
239
- app: flannel
240
- template:
241
- metadata:
242
- labels:
243
- tier: node
244
- app: flannel
245
- spec:
246
- affinity:
247
- nodeAffinity:
248
- requiredDuringSchedulingIgnoredDuringExecution:
249
- nodeSelectorTerms:
250
- - matchExpressions:
251
- - key: beta.kubernetes.io/os
252
- operator: In
253
- values:
254
- - linux
255
- - key: beta.kubernetes.io/arch
256
- operator: In
257
- values:
258
- - arm64
259
- hostNetwork: true
260
- tolerations:
261
- - operator: Exists
262
- effect: NoSchedule
263
- serviceAccountName: flannel
264
- initContainers:
265
- - name: install-cni
266
- image: quay.io/coreos/flannel:v0.12.0-arm64
267
- command:
268
- - cp
269
- args:
270
- - -f
271
- - /etc/kube-flannel/cni-conf.json
272
- - /etc/cni/net.d/10-flannel.conflist
273
- volumeMounts:
274
- - name: cni
275
- mountPath: /etc/cni/net.d
276
- - name: flannel-cfg
277
- mountPath: /etc/kube-flannel/
278
- containers:
279
- - name: kube-flannel
280
- image: quay.io/coreos/flannel:v0.12.0-arm64
281
- command:
282
- - /opt/bin/flanneld
283
- args:
284
- - --ip-masq
285
- - --kube-subnet-mgr
286
- resources:
287
- requests:
288
- cpu: "100m"
289
- memory: "50Mi"
290
- limits:
291
- cpu: "100m"
292
- memory: "50Mi"
293
- securityContext:
294
- privileged: false
295
- capabilities:
296
- add: ["NET_ADMIN"]
297
- env:
298
- - name: POD_NAME
299
- valueFrom:
300
- fieldRef:
301
- fieldPath: metadata.name
302
- - name: POD_NAMESPACE
303
- valueFrom:
304
- fieldRef:
305
- fieldPath: metadata.namespace
306
- volumeMounts:
307
- - name: run
308
- mountPath: /run/flannel
309
- - name: flannel-cfg
310
- mountPath: /etc/kube-flannel/
311
- volumes:
312
- - name: run
313
- hostPath:
314
- path: /run/flannel
315
- - name: cni
316
- hostPath:
317
- path: /etc/cni/net.d
318
- - name: flannel-cfg
319
- configMap:
320
- name: kube-flannel-cfg
321
- ---
322
- apiVersion: apps/v1
323
- kind: DaemonSet
324
- metadata:
325
- name: kube-flannel-ds-arm
326
- namespace: kube-system
327
- labels:
328
- tier: node
329
- app: flannel
330
- spec:
331
- selector:
332
- matchLabels:
333
- app: flannel
334
- template:
335
- metadata:
336
- labels:
337
- tier: node
338
- app: flannel
339
- spec:
340
- affinity:
341
- nodeAffinity:
342
- requiredDuringSchedulingIgnoredDuringExecution:
343
- nodeSelectorTerms:
344
- - matchExpressions:
345
- - key: beta.kubernetes.io/os
346
- operator: In
347
- values:
348
- - linux
349
- - key: beta.kubernetes.io/arch
350
- operator: In
351
- values:
352
- - arm
353
- hostNetwork: true
354
- tolerations:
355
- - operator: Exists
356
- effect: NoSchedule
357
- serviceAccountName: flannel
358
- initContainers:
359
- - name: install-cni
360
- image: quay.io/coreos/flannel:v0.12.0-arm
361
- command:
362
- - cp
363
- args:
364
- - -f
365
- - /etc/kube-flannel/cni-conf.json
366
- - /etc/cni/net.d/10-flannel.conflist
367
- volumeMounts:
368
- - name: cni
369
- mountPath: /etc/cni/net.d
370
- - name: flannel-cfg
371
- mountPath: /etc/kube-flannel/
372
- containers:
373
- - name: kube-flannel
374
- image: quay.io/coreos/flannel:v0.12.0-arm
375
- command:
376
- - /opt/bin/flanneld
377
- args:
378
- - --ip-masq
379
- - --kube-subnet-mgr
380
- resources:
381
- requests:
382
- cpu: "100m"
383
- memory: "50Mi"
384
- limits:
385
- cpu: "100m"
386
- memory: "50Mi"
387
- securityContext:
388
- privileged: false
389
- capabilities:
390
- add: ["NET_ADMIN"]
391
- env:
392
- - name: POD_NAME
393
- valueFrom:
394
- fieldRef:
395
- fieldPath: metadata.name
396
- - name: POD_NAMESPACE
397
- valueFrom:
398
- fieldRef:
399
- fieldPath: metadata.namespace
400
- volumeMounts:
401
- - name: run
402
- mountPath: /run/flannel
403
- - name: flannel-cfg
404
- mountPath: /etc/kube-flannel/
405
- volumes:
406
- - name: run
407
- hostPath:
408
- path: /run/flannel
409
- - name: cni
410
- hostPath:
411
- path: /etc/cni/net.d
412
- - name: flannel-cfg
413
- configMap:
414
- name: kube-flannel-cfg
415
- ---
416
- apiVersion: apps/v1
417
- kind: DaemonSet
418
- metadata:
419
- name: kube-flannel-ds-ppc64le
420
- namespace: kube-system
421
- labels:
422
- tier: node
423
- app: flannel
424
- spec:
425
- selector:
426
- matchLabels:
427
- app: flannel
428
- template:
429
- metadata:
430
- labels:
431
- tier: node
432
- app: flannel
433
- spec:
434
- affinity:
435
- nodeAffinity:
436
- requiredDuringSchedulingIgnoredDuringExecution:
437
- nodeSelectorTerms:
438
- - matchExpressions:
439
- - key: beta.kubernetes.io/os
440
- operator: In
441
- values:
442
- - linux
443
- - key: beta.kubernetes.io/arch
444
- operator: In
445
- values:
446
- - ppc64le
447
- hostNetwork: true
448
- tolerations:
449
- - operator: Exists
450
- effect: NoSchedule
451
- serviceAccountName: flannel
452
- initContainers:
453
- - name: install-cni
454
- image: quay.io/coreos/flannel:v0.12.0-ppc64le
455
- command:
456
- - cp
457
- args:
458
- - -f
459
- - /etc/kube-flannel/cni-conf.json
460
- - /etc/cni/net.d/10-flannel.conflist
461
- volumeMounts:
462
- - name: cni
463
- mountPath: /etc/cni/net.d
464
- - name: flannel-cfg
465
- mountPath: /etc/kube-flannel/
466
- containers:
467
- - name: kube-flannel
468
- image: quay.io/coreos/flannel:v0.12.0-ppc64le
469
- command:
470
- - /opt/bin/flanneld
471
- args:
472
- - --ip-masq
473
- - --kube-subnet-mgr
474
- resources:
475
- requests:
476
- cpu: "100m"
477
- memory: "50Mi"
478
- limits:
479
- cpu: "100m"
480
- memory: "50Mi"
481
- securityContext:
482
- privileged: false
483
- capabilities:
484
- add: ["NET_ADMIN"]
485
- env:
486
- - name: POD_NAME
487
- valueFrom:
488
- fieldRef:
489
- fieldPath: metadata.name
490
- - name: POD_NAMESPACE
491
- valueFrom:
492
- fieldRef:
493
- fieldPath: metadata.namespace
494
- volumeMounts:
495
- - name: run
496
- mountPath: /run/flannel
497
- - name: flannel-cfg
498
- mountPath: /etc/kube-flannel/
499
- volumes:
500
- - name: run
501
- hostPath:
502
- path: /run/flannel
503
- - name: cni
504
- hostPath:
505
- path: /etc/cni/net.d
506
- - name: flannel-cfg
507
- configMap:
508
- name: kube-flannel-cfg
509
- ---
510
- apiVersion: apps/v1
511
- kind: DaemonSet
512
- metadata:
513
- name: kube-flannel-ds-s390x
514
- namespace: kube-system
515
- labels:
516
- tier: node
517
- app: flannel
518
- spec:
519
- selector:
520
- matchLabels:
521
- app: flannel
522
- template:
523
- metadata:
524
- labels:
525
- tier: node
526
- app: flannel
527
- spec:
528
- affinity:
529
- nodeAffinity:
530
- requiredDuringSchedulingIgnoredDuringExecution:
531
- nodeSelectorTerms:
532
- - matchExpressions:
533
- - key: beta.kubernetes.io/os
534
- operator: In
535
- values:
536
- - linux
537
- - key: beta.kubernetes.io/arch
538
- operator: In
539
- values:
540
- - s390x
541
- hostNetwork: true
542
- tolerations:
543
- - operator: Exists
544
- effect: NoSchedule
545
- serviceAccountName: flannel
546
- initContainers:
547
- - name: install-cni
548
- image: quay.io/coreos/flannel:v0.12.0-s390x
549
- command:
550
- - cp
551
- args:
552
- - -f
553
- - /etc/kube-flannel/cni-conf.json
554
- - /etc/cni/net.d/10-flannel.conflist
555
- volumeMounts:
556
- - name: cni
557
- mountPath: /etc/cni/net.d
558
- - name: flannel-cfg
559
- mountPath: /etc/kube-flannel/
560
- containers:
561
- - name: kube-flannel
562
- image: quay.io/coreos/flannel:v0.12.0-s390x
563
- command:
564
- - /opt/bin/flanneld
565
- args:
566
- - --ip-masq
567
- - --kube-subnet-mgr
568
- resources:
569
- requests:
570
- cpu: "100m"
571
- memory: "50Mi"
572
- limits:
573
- cpu: "100m"
574
- memory: "50Mi"
575
- securityContext:
576
- privileged: false
577
- capabilities:
578
- add: ["NET_ADMIN"]
579
- env:
580
- - name: POD_NAME
581
- valueFrom:
582
- fieldRef:
583
- fieldPath: metadata.name
584
- - name: POD_NAMESPACE
585
- valueFrom:
586
- fieldRef:
587
- fieldPath: metadata.namespace
588
- volumeMounts:
589
- - name: run
590
- mountPath: /run/flannel
591
- - name: flannel-cfg
592
- mountPath: /etc/kube-flannel/
593
- volumes:
594
- - name: run
595
- hostPath:
596
- path: /run/flannel
597
- - name: cni
598
- hostPath:
599
- path: /etc/cni/net.d
600
- - name: flannel-cfg
601
- configMap:
602
- name: kube-flannel-cfg
215
+ - name: run
216
+ hostPath:
217
+ path: /run/flannel
218
+ - name: cni
219
+ hostPath:
220
+ path: /etc/cni/net.d
221
+ - name: flannel-cfg
222
+ configMap:
223
+ name: kube-flannel-cfg