porkadot 0.23.0 → 0.25.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 (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
@@ -58,7 +58,7 @@ spec:
58
58
  periodSeconds: 1
59
59
  timeoutSeconds: 15
60
60
  startupProbe:
61
- failureThreshold: 24
61
+ failureThreshold: 48
62
62
  httpGet:
63
63
  host: 127.0.0.1
64
64
  path: /livez
@@ -101,6 +101,9 @@ spec:
101
101
  - key: node-role.kubernetes.io/master
102
102
  operator: Exists
103
103
  effect: NoSchedule
104
+ - key: node-role.kubernetes.io/control-plane
105
+ operator: Exists
106
+ effect: NoSchedule
104
107
  volumes:
105
108
  - hostPath:
106
109
  path: /etc/ssl/certs
@@ -146,6 +146,9 @@ spec:
146
146
  - key: node-role.kubernetes.io/master
147
147
  operator: Exists
148
148
  effect: NoSchedule
149
+ - key: node-role.kubernetes.io/control-plane
150
+ operator: Exists
151
+ effect: NoSchedule
149
152
  volumes:
150
153
  - name: var-run-kubernetes
151
154
  emptyDir: {}
@@ -173,4 +173,6 @@ spec:
173
173
  - key: node-role.kubernetes.io/master
174
174
  operator: Exists
175
175
  effect: NoSchedule
176
-
176
+ - key: node-role.kubernetes.io/control-plane
177
+ operator: Exists
178
+ effect: NoSchedule
@@ -80,14 +80,28 @@ module Porkadot; module Assets
80
80
  secrets.each do |m|
81
81
  render_secrets_erb(m)
82
82
  end
83
+ crds = @@crds[name]
84
+ crds.each do |m|
85
+ copy_crds(m)
86
+ end
83
87
  end
84
88
  end
85
89
 
86
- def self.register_manifests name, manifests, secrets: []
90
+ def copy_crds file
91
+ logger.info "----> #{file}"
92
+ crd_path = File.join(config.target_crd_dir_path, file)
93
+ crd_dir = File.dirname(crd_path)
94
+ FileUtils.mkdir_p(crd_dir) unless File.directory?(crd_dir)
95
+ FileUtils.copy(File.join(TEMPLATE_DIR, file), crd_path)
96
+ end
97
+
98
+ def self.register_manifests name, manifests, secrets: [], crds: []
87
99
  @@manifests ||= {}
88
100
  @@manifests[name] = manifests
89
101
  @@secrets_manifests ||= {}
90
102
  @@secrets_manifests[name] = secrets
103
+ @@crds ||= {}
104
+ @@crds[name] = crds
91
105
  end
92
106
 
93
107
  register_manifests('flannel', [
@@ -106,6 +120,8 @@ module Porkadot; module Assets
106
120
  'metallb/metallb.yaml',
107
121
  'metallb/metallb.config.yaml',
108
122
  'metallb/kustomization.yaml'
123
+ ], crds: [
124
+ 'metallb/crds.yaml'
109
125
  ])
110
126
 
111
127
 
@@ -119,5 +135,10 @@ module Porkadot; module Assets
119
135
  'storage-version-migrator/kustomization.yaml'
120
136
  ])
121
137
 
138
+ register_manifests('kubelet-serving-cert-approver', [
139
+ 'kubelet-serving-cert-approver/src.yaml',
140
+ 'kubelet-serving-cert-approver/kustomization.yaml'
141
+ ])
142
+
122
143
  end
123
144
  end; end
@@ -4,7 +4,7 @@ require 'logger'
4
4
 
5
5
  module Porkadot
6
6
  class Raw < ::Hashie::Mash
7
- disable_warnings :keys, :min
7
+ disable_warnings :keys, :key, :min
8
8
  end
9
9
 
10
10
  class Config
@@ -16,6 +16,10 @@ module Porkadot; module Configs
16
16
  File.join(self.config.secrets_root_dir, 'kubernetes', 'manifests', 'addons')
17
17
  end
18
18
 
19
+ def target_crd_dir_path
20
+ File.join(self.config.assets_dir, 'kubernetes', 'manifests', 'crds')
21
+ end
22
+
19
23
  end
20
24
  end; end
21
25
 
@@ -87,6 +87,15 @@ module Porkadot; module Configs
87
87
  ["https://#{self.listen_client_address}:2380"]
88
88
  end
89
89
 
90
+ def listen_metrics_urls
91
+ address = self.listen_client_address
92
+ if address != '0.0.0.0'
93
+ return ["http://#{address}:2381", "http://127.0.0.1:2381"]
94
+ else
95
+ return ["http://#{address}:2381"]
96
+ end
97
+ end
98
+
90
99
  def initial_cluster
91
100
  return {}.tap do |rtn|
92
101
  self.config.etcd_nodes.each do |_, v|
@@ -23,6 +23,14 @@ module Porkadot; module Configs
23
23
  File.join(self.target_secrets_path, 'addons')
24
24
  end
25
25
 
26
+ def ca_crt_path
27
+ File.join(self.target_path, 'ca.crt')
28
+ end
29
+
30
+ def control_plane_endpoint
31
+ (self.raw.kubernetes && self.raw.kubernetes.control_plane_endpoint) || self.config.k8s.control_plane_endpoint
32
+ end
33
+
26
34
  end
27
35
 
28
36
  class Kubelet
@@ -54,9 +62,23 @@ module Porkadot; module Configs
54
62
  return self.raw.labels.map{|v| v.compact.join('=')}.join(',')
55
63
  end
56
64
 
57
- def taints_string
58
- return '' unless self.raw.taints
59
- return self.raw.taints.map{|v| v.compact.join('=')}.join(',')
65
+ def labels
66
+ return self.raw.labels || {}
67
+ end
68
+
69
+ def annotations
70
+ return self.raw.annotations || {}
71
+ end
72
+
73
+ def kubelet_config
74
+ kc = self.raw.config || ::Porkadot::Raw.new
75
+ kc = kc.merge(self.config.kubernetes.kubelet.config)
76
+ kc.clusterDNS << self.config.k8s.networking.dns_ip.to_s
77
+ kc.clusterDomain = self.config.k8s.networking.dns_domain
78
+ if self.raw.taints
79
+ kc.registerWithTaints = self.raw.taints
80
+ end
81
+ return kc
60
82
  end
61
83
 
62
84
  def hostname
@@ -79,10 +101,6 @@ module Porkadot; module Configs
79
101
  File.join(self.target_secrets_path, 'addons')
80
102
  end
81
103
 
82
- def ca_crt_path
83
- File.join(self.target_path, 'ca.crt')
84
- end
85
-
86
104
  def bootstrap_key_path
87
105
  File.join(self.target_secrets_path, 'bootstrap.key')
88
106
  end
@@ -11,14 +11,14 @@ nodes: {}
11
11
  bootstrap: {}
12
12
 
13
13
  addons:
14
- enabled: [flannel, coredns, metallb, kubelet-rubber-stamp, storage-version-migrator]
14
+ enabled: [flannel, coredns, metallb, kubelet-serving-cert-approver, storage-version-migrator]
15
15
 
16
16
  flannel:
17
17
  backend: vxlan
18
- plugin_image_repository: rancher/mirrored-flannelcni-flannel-cni-plugin
19
- plugin_image_tag: v1.0.1
20
- daemon_image_repository: rancher/mirrored-flannelcni-flannel
21
- daemon_image_tag: v0.17.0
18
+ plugin_image_repository: flannel/flannel-cni-plugin
19
+ plugin_image_tag: v1.4.1-flannel1
20
+ daemon_image_repository: flannel/flannel
21
+ daemon_image_tag: v0.25.1
22
22
  resources:
23
23
  requests:
24
24
  cpu: "100m"
@@ -39,20 +39,22 @@ addons:
39
39
 
40
40
  kubelet-rubber-stamp: {}
41
41
 
42
+ kubelet-serving-cert-approver: {}
43
+
42
44
  storage-version-migrator: {}
43
45
 
44
46
  etcd:
45
- image_repository: gcr.io/etcd-development/etcd
46
- image_tag: v3.4.13
47
+ image_repository: registry.k8s.io/etcd
48
+ image_tag: 3.5.5-0
47
49
  extra_env: []
48
50
 
49
51
  kubernetes:
50
- kubernetes_version: v1.23.5
51
- crictl_version: v1.23.0
52
- image_repository: k8s.gcr.io
52
+ kubernetes_version: v1.25.15
53
+ crictl_version: v1.25.0
54
+ image_repository: registry.k8s.io
53
55
 
54
56
  networking:
55
- cni_version: v1.0.1
57
+ cni_version: v1.2.0
56
58
  service_subnet: '10.254.0.0/24'
57
59
  pod_subnet: '10.244.0.0/16'
58
60
  dns_domain: 'cluster.local'
@@ -96,7 +98,7 @@ kubernetes:
96
98
  minSyncPeriod: 0s
97
99
  scheduler: ""
98
100
  syncPeriod: 30s
99
- metricsBindAddress: 127.0.0.1:10249
101
+ metricsBindAddress: 0.0.0.0:10249
100
102
  mode: "iptables"
101
103
  nodePortAddresses: null
102
104
  oomScoreAdj: -999
@@ -106,7 +108,6 @@ kubernetes:
106
108
  kubelet:
107
109
  config:
108
110
  apiVersion: kubelet.config.k8s.io/v1beta1
109
- kind: KubeletConfiguration
110
111
  authentication:
111
112
  anonymous:
112
113
  enabled: false
@@ -122,7 +123,7 @@ kubernetes:
122
123
  cacheUnauthorizedTTL: 0s
123
124
  cgroupDriver: systemd
124
125
  clusterDNS: []
125
- clusterDomain: cluster.local
126
+ clusterDomain: ""
126
127
  cpuManagerReconcilePeriod: 0s
127
128
  evictionPressureTransitionPeriod: 0s
128
129
  fileCheckFrequency: 0s
@@ -130,13 +131,14 @@ kubernetes:
130
131
  healthzPort: 10248
131
132
  httpCheckFrequency: 0s
132
133
  imageMinimumGCAge: 0s
134
+ kind: KubeletConfiguration
133
135
  nodeStatusReportFrequency: 0s
134
136
  nodeStatusUpdateFrequency: 0s
135
137
  resolvConf: /run/systemd/resolve/resolv.conf
136
138
  rotateCertificates: true
137
139
  runtimeRequestTimeout: 0s
138
- serverTLSBootstrap: true
139
140
  staticPodPath: /etc/kubernetes/manifests
140
141
  streamingConnectionIdleTimeout: 0s
141
142
  syncFrequency: 0s
142
143
  volumeStatsAggPeriod: 0s
144
+ serverTLSBootstrap: true
@@ -32,7 +32,7 @@ module Porkadot; module Install
32
32
  execute(:bash, File.join(KUBE_TEMP, 'install.sh'))
33
33
  end
34
34
 
35
- endpoint = "https://127.0.0.1:#{global_config.k8s.apiserver.bind_port}/healthz"
35
+ endpoint = "https://127.0.0.1:#{global_config.k8s.apiserver.bind_port}/readyz"
36
36
  info "Start to wait for Bootstrapping Kubernetes API: #{endpoint}"
37
37
  while !test('curl', '-skf', endpoint)
38
38
  info "Still wating for Bootstrapping Kubernetes API..."
@@ -3,6 +3,7 @@ module Porkadot; module Install
3
3
  KUBE_TEMP = File.join(Porkadot::Install::KUBE_TEMP, 'kubelet')
4
4
  KUBE_SECRETS_TEMP = File.join(Porkadot::Install::KUBE_TEMP, '.kubelet')
5
5
  KUBE_DEFAULT_TEMP = File.join(Porkadot::Install::KUBE_TEMP, '.default')
6
+ KUBE_SECRETS_DEFAULT_TEMP = File.join(Porkadot::Install::KUBE_TEMP, '.default.kubelet')
6
7
  ETCD_TEMP = '/opt/porkadot'
7
8
  include SSHKit::DSL
8
9
  attr_reader :global_config
@@ -19,23 +20,8 @@ module Porkadot; module Install
19
20
  end
20
21
 
21
22
  def setup_containerd hosts: nil, force: false
22
- unless hosts
23
- hosts = []
24
- self.kubelets.each do |_, v|
25
- hosts << v
26
- end
27
- end
28
-
23
+ hosts = self.exec hosts: hosts
29
24
  on(hosts) do |host|
30
- execute(:mkdir, '-p', Porkadot::Install::KUBE_TEMP)
31
- if test("[ -d #{KUBE_TEMP} ]")
32
- execute(:rm, '-rf', KUBE_TEMP)
33
- execute(:rm, '-rf', KUBE_SECRETS_TEMP)
34
- end
35
- upload! host.config.target_path, KUBE_TEMP, recursive: true
36
- upload! host.config.target_secrets_path, KUBE_SECRETS_TEMP, recursive: true
37
- execute(:cp, '-r', KUBE_SECRETS_TEMP + '/*', KUBE_TEMP)
38
-
39
25
  as user: 'root' do
40
26
  execute(:bash, File.join(KUBE_TEMP, 'setup-containerd.sh'))
41
27
  end
@@ -43,30 +29,28 @@ module Porkadot; module Install
43
29
  end
44
30
 
45
31
  def setup_default hosts: nil, force: false
46
- unless hosts
47
- hosts = []
48
- self.kubelets.each do |_, v|
49
- hosts << v
32
+ hosts = self.exec hosts: hosts
33
+ on(hosts) do |host|
34
+ as user: 'root' do
35
+ execute(:bash, File.join(KUBE_TEMP, 'setup-node.sh'))
50
36
  end
51
37
  end
38
+ end
52
39
 
40
+ def install hosts: nil, force: false
41
+ hosts = self.exec hosts: hosts
53
42
  on(hosts) do |host|
54
- execute(:mkdir, '-p', Porkadot::Install::KUBE_TEMP)
55
- if test("[ -d #{KUBE_TEMP} ]")
56
- execute(:rm, '-rf', KUBE_TEMP)
57
- execute(:rm, '-rf', KUBE_SECRETS_TEMP)
58
- end
59
- upload! host.global_config.kubelet_default.target_path, KUBE_TEMP, recursive: true
60
- upload! host.global_config.kubelet_default.target_secrets_path, KUBE_SECRETS_TEMP, recursive: true
61
- execute(:cp, '-r', KUBE_SECRETS_TEMP + '/*', KUBE_TEMP)
62
-
63
43
  as user: 'root' do
44
+ unless test("[ -f /opt/bin/kubelet-#{host.global_config.k8s.kubernetes_version} ]") && !force
45
+ execute(:bash, File.join(KUBE_TEMP, 'install-deps.sh'))
46
+ end
47
+ execute(:bash, File.join(KUBE_TEMP, 'install-pkgs.sh'))
64
48
  execute(:bash, File.join(KUBE_TEMP, 'install.sh'))
65
49
  end
66
50
  end
67
51
  end
68
52
 
69
- def install hosts: nil, force: false
53
+ def exec hosts: nil
70
54
  unless hosts
71
55
  hosts = []
72
56
  self.kubelets.each do |_, v|
@@ -79,19 +63,19 @@ module Porkadot; module Install
79
63
  if test("[ -d #{KUBE_TEMP} ]")
80
64
  execute(:rm, '-rf', KUBE_TEMP)
81
65
  execute(:rm, '-rf', KUBE_SECRETS_TEMP)
66
+ execute(:rm, '-rf', KUBE_DEFAULT_TEMP)
67
+ execute(:rm, '-rf', KUBE_SECRETS_DEFAULT_TEMP)
82
68
  end
83
- upload! host.config.target_path, KUBE_TEMP, recursive: true
84
- upload! host.config.target_secrets_path, KUBE_SECRETS_TEMP, recursive: true
69
+ upload! host.global_config.kubelet_default.target_path, KUBE_TEMP, recursive: true
70
+ upload! host.global_config.kubelet_default.target_secrets_path, KUBE_SECRETS_TEMP, recursive: true
71
+ upload! host.config.target_path, KUBE_DEFAULT_TEMP, recursive: true
72
+ upload! host.config.target_secrets_path, KUBE_SECRETS_DEFAULT_TEMP, recursive: true
85
73
  execute(:cp, '-r', KUBE_SECRETS_TEMP + '/*', KUBE_TEMP)
86
-
87
- as user: 'root' do
88
- unless test("[ -f /opt/bin/kubelet-#{host.global_config.k8s.kubernetes_version} ]") && !force
89
- execute(:bash, File.join(KUBE_TEMP, 'install-deps.sh'))
90
- end
91
- execute(:bash, File.join(KUBE_TEMP, 'install-pkgs.sh'))
92
- execute(:bash, File.join(KUBE_TEMP, 'install.sh'))
93
- end
74
+ execute(:cp, '-r', KUBE_DEFAULT_TEMP + '/*', KUBE_TEMP)
75
+ execute(:cp, '-r', KUBE_SECRETS_DEFAULT_TEMP + '/*', KUBE_TEMP)
94
76
  end
77
+
78
+ return hosts
95
79
  end
96
80
 
97
81
  def backup_etcd host: nil, path: "./backup/etcd.db"
@@ -1,3 +1,3 @@
1
1
  module Porkadot
2
- VERSION = "0.23.0"
2
+ VERSION = "0.25.0"
3
3
  end
data/lib/porkadot.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  require 'thor'
2
2
  require 'sshkit'
3
+ require 'json'
3
4
 
4
5
  require "porkadot/version"
5
6
 
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.23.0
4
+ version: 0.25.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: 2022-09-24 00:00:00.000000000 Z
11
+ date: 2024-05-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -128,7 +128,12 @@ files:
128
128
  - config/unstable.yaml
129
129
  - exe/porkadot
130
130
  - hack/gen-storage-version-migrator.sh
131
+ - hack/metallb/crds/kustomization.yaml
132
+ - hack/metallb/exclude-l2-config.yaml
133
+ - hack/metallb/kustomization.yaml
131
134
  - hack/storage-version-migrator/kustomization.yaml
135
+ - hack/update-kubelet-cert-approver.sh
136
+ - hack/update-metallb.sh
132
137
  - lib/porkadot.rb
133
138
  - lib/porkadot/assets.rb
134
139
  - lib/porkadot/assets/bootstrap.rb
@@ -146,16 +151,19 @@ files:
146
151
  - lib/porkadot/assets/certs/k8s.rb
147
152
  - lib/porkadot/assets/etcd.rb
148
153
  - lib/porkadot/assets/etcd/etcd-server.yaml.erb
154
+ - lib/porkadot/assets/etcd/etcd.env.erb
149
155
  - lib/porkadot/assets/etcd/install.sh.erb
156
+ - lib/porkadot/assets/kubelet-default/install-deps.sh.erb
157
+ - lib/porkadot/assets/kubelet-default/install-pkgs.sh.erb
150
158
  - lib/porkadot/assets/kubelet-default/install.sh.erb
159
+ - lib/porkadot/assets/kubelet-default/setup-containerd.sh.erb
160
+ - lib/porkadot/assets/kubelet-default/setup-node.sh.erb
151
161
  - lib/porkadot/assets/kubelet.rb
152
162
  - lib/porkadot/assets/kubelet/bootstrap-kubelet.conf.erb
153
163
  - lib/porkadot/assets/kubelet/config.yaml.erb
154
- - lib/porkadot/assets/kubelet/install-deps.sh.erb
155
- - lib/porkadot/assets/kubelet/install-pkgs.sh.erb
156
- - lib/porkadot/assets/kubelet/install.sh.erb
164
+ - lib/porkadot/assets/kubelet/initiatorname.iscsi.erb
157
165
  - lib/porkadot/assets/kubelet/kubelet.service.erb
158
- - lib/porkadot/assets/kubelet/setup-containerd.sh.erb
166
+ - lib/porkadot/assets/kubelet/metadata.json.erb
159
167
  - lib/porkadot/assets/kubernetes.rb
160
168
  - lib/porkadot/assets/kubernetes/install.secrets.sh.erb
161
169
  - lib/porkadot/assets/kubernetes/install.sh.erb
@@ -168,11 +176,13 @@ files:
168
176
  - lib/porkadot/assets/kubernetes/manifests/addons/flannel/kustomization.yaml.erb
169
177
  - lib/porkadot/assets/kubernetes/manifests/addons/kubelet-rubber-stamp/kubelet-rubber-stamp.yaml.erb
170
178
  - lib/porkadot/assets/kubernetes/manifests/addons/kubelet-rubber-stamp/kustomization.yaml.erb
179
+ - lib/porkadot/assets/kubernetes/manifests/addons/kubelet-serving-cert-approver/kustomization.yaml.erb
180
+ - lib/porkadot/assets/kubernetes/manifests/addons/kubelet-serving-cert-approver/src.yaml.erb
171
181
  - lib/porkadot/assets/kubernetes/manifests/addons/kustomization.yaml.erb
172
182
  - lib/porkadot/assets/kubernetes/manifests/addons/metallb/000-metallb.yaml.erb
183
+ - lib/porkadot/assets/kubernetes/manifests/addons/metallb/crds.yaml
173
184
  - lib/porkadot/assets/kubernetes/manifests/addons/metallb/kustomization.yaml.erb
174
185
  - lib/porkadot/assets/kubernetes/manifests/addons/metallb/metallb.config.yaml.erb
175
- - lib/porkadot/assets/kubernetes/manifests/addons/metallb/metallb.yaml
176
186
  - lib/porkadot/assets/kubernetes/manifests/addons/metallb/metallb.yaml.erb
177
187
  - lib/porkadot/assets/kubernetes/manifests/addons/storage-version-migrator/kustomization.yaml.erb
178
188
  - lib/porkadot/assets/kubernetes/manifests/addons/storage-version-migrator/storage-version-migrator.yaml.erb
@@ -1,35 +0,0 @@
1
- #!/bin/bash
2
-
3
- set -eu
4
- export LC_ALL=C
5
- ROOT=$(dirname "${BASH_SOURCE}")
6
-
7
- export KUBERNETES_PATH="/etc/kubernetes"
8
- export KUBERNETES_PKI_PATH="${KUBERNETES_PATH}/pki"
9
- export KUBERNETES_MANIFESTS_PATH="${KUBERNETES_PATH}/manifests"
10
- export KUBELET_PATH="/var/lib/kubelet"
11
-
12
- mkdir -p ${KUBERNETES_PATH}
13
- mkdir -p ${KUBERNETES_PKI_PATH}
14
- mkdir -p ${KUBERNETES_MANIFESTS_PATH}
15
- mkdir -p ${KUBELET_PATH}
16
-
17
- cp ${ROOT}/bootstrap-kubelet.conf ${KUBERNETES_PATH}/
18
- cp ${ROOT}/bootstrap.* ${KUBERNETES_PKI_PATH}/
19
- cp ${ROOT}/ca.crt ${KUBERNETES_PKI_PATH}/
20
- cp ${ROOT}/config.yaml ${KUBELET_PATH}/
21
- cp ${ROOT}/kubelet.service /etc/systemd/system/
22
-
23
- # Install addons
24
- for addon in $(ls ${ROOT}/addons/); do
25
- install_sh="${ROOT}/addons/${addon}/install.sh"
26
- if [[ -f ${install_sh} ]]; then
27
- echo "Install: ${install_sh}"
28
- bash ${install_sh}
29
- fi
30
- done
31
-
32
- rm -f ${KUBERNETES_PATH}/kubelet.conf
33
- systemctl daemon-reload
34
- systemctl enable kubelet
35
- systemctl restart kubelet
@@ -1,17 +0,0 @@
1
- #!/bin/bash
2
- set -eu
3
- export LC_ALL=C
4
- ROOT=$(dirname "${BASH_SOURCE}")
5
-
6
- mkdir -p /etc/containerd
7
- containerd config default | tee /etc/containerd/config.toml
8
-
9
- grep SystemdCgroup /etc/containerd/config.toml && :
10
-
11
- if [[ $? == 0 ]]; then
12
- sed -i -e "s/SystemdCgroup.*$/SystemdCgroup = true/" /etc/containerd/config.toml
13
- else
14
- sed -i -e "/containerd.runtimes.runc.options/a SystemdCgroup = true" /etc/containerd/config.toml
15
- fi
16
-
17
- systemctl restart containerd