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
@@ -40,7 +40,7 @@ module Porkadot; module Cmd; module Render; module Certs
40
40
  certs.apiserver_cert(true)
41
41
  logger.info "--> Kubelet client key and certs"
42
42
  certs.kubelet_client_key
43
- certs.kubelet_client_cert
43
+ certs.kubelet_client_cert(true)
44
44
  # logger.info "--> Bootstrap client key and certs"
45
45
  # bootstrap_client_key = self.private_key(self.assets.k8s_bootstrap_key_path)
46
46
  # self.client_cert(self.assets.k8s_bootstrap_cert_path, '/O=porkadot:node-bootstrappers/CN=node-bootstrapper', bootstrap_client_key, ca_cert, ca_key)
@@ -5,7 +5,7 @@ module Porkadot; module Configs
5
5
  module CertsUtils
6
6
 
7
7
  def certs_root_dir
8
- File.join(self.config.assets_dir, 'certs')
8
+ File.join(self.config.secrets_root_dir, 'certs')
9
9
  end
10
10
 
11
11
  def ipaddr?(addr)
@@ -33,6 +33,12 @@ module Porkadot; module Configs; class Certs
33
33
  DNS:kubernetes.default
34
34
  DNS:kubernetes.default.svc
35
35
  DNS:kubernetes.default.svc.#{self.config.k8s.networking.dns_domain}
36
+ DNS:porkadot-kubernetes
37
+ DNS:porkadot-kubernetes.kube-system
38
+ DNS:porkadot-kubernetes.kube-system.svc
39
+ DNS:porkadot-kubernetes-latest
40
+ DNS:porkadot-kubernetes-latest.kube-system
41
+ DNS:porkadot-kubernetes-latest.kube-system.svc
36
42
  DNS:localhost
37
43
  IP:#{self.config.k8s.networking.kubernetes_ip}
38
44
  IP:127.0.0.1
@@ -56,6 +56,7 @@ module Porkadot; module Configs
56
56
  "#{RECOMMENDED_LABEL_PREFIX}/version": self.config.k8s.kubernetes_version,
57
57
  "#{RECOMMENDED_LABEL_PREFIX}/part-of": 'kubernetes',
58
58
  "#{RECOMMENDED_LABEL_PREFIX}/managed-by": 'porkadot',
59
+ "k8s-app": self.component_name,
59
60
  })
60
61
  end
61
62
 
@@ -27,10 +27,11 @@ lb:
27
27
 
28
28
  etcd:
29
29
  image_repository: gcr.io/etcd-development/etcd
30
- image_tag: v3.3.10
30
+ image_tag: v3.4.3
31
+ extra_env: []
31
32
 
32
33
  kubernetes:
33
- kubernetes_version: v1.17.3
34
+ kubernetes_version: v1.19.6
34
35
  image_repository: k8s.gcr.io
35
36
 
36
37
  networking:
@@ -101,7 +102,7 @@ kubernetes:
101
102
  webhook:
102
103
  cacheAuthorizedTTL: 0s
103
104
  cacheUnauthorizedTTL: 0s
104
- cgroupDriver: cgroupfs
105
+ cgroupDriver: systemd
105
106
  clusterDNS: []
106
107
  clusterDomain: cluster.local
107
108
  cpuManagerReconcilePeriod: 0s
@@ -1,3 +1,3 @@
1
1
  module Porkadot
2
- VERSION = "0.2.0"
2
+ VERSION = "0.19.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: porkadot
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.19.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - OTSUKA, Yuanying
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-04-05 00:00:00.000000000 Z
11
+ date: 2021-06-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -113,6 +113,8 @@ files:
113
113
  - config/porkadot.yaml
114
114
  - config/unstable.yaml
115
115
  - exe/porkadot
116
+ - hack/gen-storage-version-migrator.sh
117
+ - hack/storage-version-migrator/kustomization.yaml
116
118
  - lib/porkadot.rb
117
119
  - lib/porkadot/assets.rb
118
120
  - lib/porkadot/assets/bootstrap.rb
@@ -140,6 +142,8 @@ files:
140
142
  - lib/porkadot/assets/kubelet/kubelet.service.erb
141
143
  - lib/porkadot/assets/kubernetes.rb
142
144
  - lib/porkadot/assets/kubernetes/install.sh.erb
145
+ - lib/porkadot/assets/kubernetes/manifests/coredns.yaml.erb
146
+ - lib/porkadot/assets/kubernetes/manifests/dns-horizontal-autoscaler.yaml.erb
143
147
  - lib/porkadot/assets/kubernetes/manifests/flannel.yaml.erb
144
148
  - lib/porkadot/assets/kubernetes/manifests/kube-apiserver.secrets.yaml.erb
145
149
  - lib/porkadot/assets/kubernetes/manifests/kube-apiserver.yaml.erb
@@ -149,9 +153,10 @@ files:
149
153
  - lib/porkadot/assets/kubernetes/manifests/kube-scheduler.yaml.erb
150
154
  - lib/porkadot/assets/kubernetes/manifests/kubelet-rubber-stamp.yaml.erb
151
155
  - lib/porkadot/assets/kubernetes/manifests/kubelet.yaml.erb
156
+ - lib/porkadot/assets/kubernetes/manifests/metallb.secrets.yaml.erb
152
157
  - lib/porkadot/assets/kubernetes/manifests/metallb.yaml.erb
153
- - lib/porkadot/assets/kubernetes/manifests/pod-checkpointer.yaml.erb
154
158
  - lib/porkadot/assets/kubernetes/manifests/porkadot.yaml.erb
159
+ - lib/porkadot/assets/kubernetes/manifests/storage-version-migrator.yaml.erb
155
160
  - lib/porkadot/cmd.rb
156
161
  - lib/porkadot/cmd/cli.rb
157
162
  - lib/porkadot/cmd/install.rb
@@ -1,130 +0,0 @@
1
- <% k8s = global_config.k8s -%>
2
- ---
3
- apiVersion: v1
4
- kind: ServiceAccount
5
- metadata:
6
- name: pod-checkpointer
7
- namespace: kube-system
8
- ---
9
- apiVersion: rbac.authorization.k8s.io/v1
10
- kind: Role
11
- metadata:
12
- name: pod-checkpointer
13
- namespace: kube-system
14
- rules:
15
- - apiGroups: [""] # "" indicates the core API group
16
- resources: ["pods"]
17
- verbs: ["get", "watch", "list"]
18
- - apiGroups: [""] # "" indicates the core API group
19
- resources: ["secrets", "configmaps"]
20
- verbs: ["get"]
21
- ---
22
- apiVersion: rbac.authorization.k8s.io/v1
23
- kind: RoleBinding
24
- metadata:
25
- name: pod-checkpointer
26
- namespace: kube-system
27
- roleRef:
28
- apiGroup: rbac.authorization.k8s.io
29
- kind: Role
30
- name: pod-checkpointer
31
- subjects:
32
- - kind: ServiceAccount
33
- name: pod-checkpointer
34
- namespace: kube-system
35
- ---
36
- apiVersion: rbac.authorization.k8s.io/v1
37
- kind: ClusterRole
38
- metadata:
39
- name: pod-checkpointer
40
- rules:
41
- - apiGroups: [""]
42
- resources: ["nodes", "nodes/proxy"]
43
- verbs: ["get"]
44
- ---
45
- apiVersion: rbac.authorization.k8s.io/v1
46
- kind: ClusterRoleBinding
47
- metadata:
48
- name: pod-checkpointer
49
- roleRef:
50
- apiGroup: rbac.authorization.k8s.io
51
- kind: ClusterRole
52
- name: pod-checkpointer
53
- subjects:
54
- - kind: ServiceAccount
55
- name: pod-checkpointer
56
- namespace: kube-system
57
- ---
58
- apiVersion: apps/v1
59
- kind: DaemonSet
60
- metadata:
61
- name: pod-checkpointer
62
- namespace: kube-system
63
- labels:
64
- tier: control-plane
65
- k8s-app: pod-checkpointer
66
- spec:
67
- selector:
68
- matchLabels:
69
- tier: control-plane
70
- k8s-app: pod-checkpointer
71
- template:
72
- metadata:
73
- labels:
74
- tier: control-plane
75
- k8s-app: pod-checkpointer
76
- annotations:
77
- checkpointer.alpha.coreos.com/checkpoint: "true"
78
- spec:
79
- containers:
80
- - name: pod-checkpointer
81
- image: quay.io/coreos/pod-checkpointer:83e25e5968391b9eb342042c435d1b3eeddb2be1
82
- command:
83
- - /checkpoint
84
- - --lock-file=/var/run/lock/pod-checkpointer.lock
85
- - --kubeconfig=/etc/checkpointer/kubeconfig
86
- - --checkpoint-grace-period=5m
87
- env:
88
- - name: NODE_NAME
89
- valueFrom:
90
- fieldRef:
91
- fieldPath: spec.nodeName
92
- - name: POD_NAME
93
- valueFrom:
94
- fieldRef:
95
- fieldPath: metadata.name
96
- - name: POD_NAMESPACE
97
- valueFrom:
98
- fieldRef:
99
- fieldPath: metadata.namespace
100
- imagePullPolicy: Always
101
- volumeMounts:
102
- - mountPath: /etc/checkpointer
103
- name: kubeconfig
104
- - mountPath: /etc/kubernetes
105
- name: etc-kubernetes
106
- - mountPath: /var/run
107
- name: var-run
108
- serviceAccountName: pod-checkpointer
109
- hostNetwork: true
110
- nodeSelector:
111
- k8s.unstable.cloud/master: ""
112
- restartPolicy: Always
113
- tolerations:
114
- - key: node-role.kubernetes.io/master
115
- operator: Exists
116
- effect: NoSchedule
117
- volumes:
118
- - name: kubeconfig
119
- configMap:
120
- name: kubeconfig-in-cluster
121
- - name: etc-kubernetes
122
- hostPath:
123
- path: /etc/kubernetes
124
- - name: var-run
125
- hostPath:
126
- path: /var/run
127
- updateStrategy:
128
- rollingUpdate:
129
- maxUnavailable: 1
130
- type: RollingUpdate