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
@@ -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