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.
- checksums.yaml +4 -4
- data/hack/metallb/crds/kustomization.yaml +5 -0
- data/hack/metallb/exclude-l2-config.yaml +8 -0
- data/hack/metallb/kustomization.yaml +10 -0
- data/hack/update-kubelet-cert-approver.sh +6 -0
- data/hack/update-metallb.sh +7 -0
- data/lib/porkadot/assets/bootstrap/manifests/kube-apiserver.bootstrap.yaml.erb +1 -1
- data/lib/porkadot/assets/etcd/etcd-server.yaml.erb +17 -9
- data/lib/porkadot/assets/etcd/etcd.env.erb +4 -0
- data/lib/porkadot/assets/etcd/install.sh.erb +1 -0
- data/lib/porkadot/assets/etcd.rb +1 -0
- data/lib/porkadot/assets/kubelet/config.yaml.erb +1 -39
- data/lib/porkadot/assets/kubelet/initiatorname.iscsi.erb +1 -0
- data/lib/porkadot/assets/kubelet/kubelet.service.erb +2 -6
- data/lib/porkadot/assets/kubelet/metadata.json.erb +5 -0
- data/lib/porkadot/assets/{kubelet → kubelet-default}/install-deps.sh.erb +3 -1
- data/lib/porkadot/assets/{kubelet → kubelet-default}/install-pkgs.sh.erb +1 -3
- data/lib/porkadot/assets/kubelet-default/install.sh.erb +22 -7
- data/lib/porkadot/assets/kubelet-default/setup-containerd.sh.erb +22 -0
- data/lib/porkadot/assets/kubelet-default/setup-node.sh.erb +16 -0
- data/lib/porkadot/assets/kubelet.rb +14 -12
- data/lib/porkadot/assets/kubernetes/install.sh.erb +3 -1
- data/lib/porkadot/assets/kubernetes/manifests/addons/coredns/coredns.yaml.erb +1 -1
- data/lib/porkadot/assets/kubernetes/manifests/addons/coredns/dns-horizontal-autoscaler.yaml.erb +1 -1
- data/lib/porkadot/assets/kubernetes/manifests/addons/flannel/flannel.yaml.erb +12 -51
- data/lib/porkadot/assets/kubernetes/manifests/addons/kubelet-serving-cert-approver/kustomization.yaml.erb +3 -0
- data/lib/porkadot/assets/kubernetes/manifests/addons/kubelet-serving-cert-approver/src.yaml.erb +210 -0
- data/lib/porkadot/assets/kubernetes/manifests/addons/metallb/000-metallb.yaml.erb +3 -1
- data/lib/porkadot/assets/kubernetes/manifests/addons/metallb/crds.yaml +1272 -0
- data/lib/porkadot/assets/kubernetes/manifests/addons/metallb/metallb.config.yaml.erb +1 -12
- data/lib/porkadot/assets/kubernetes/manifests/addons/metallb/metallb.yaml.erb +507 -252
- data/lib/porkadot/assets/kubernetes/manifests/kube-apiserver.yaml.erb +4 -1
- data/lib/porkadot/assets/kubernetes/manifests/kube-controller-manager.yaml.erb +3 -0
- data/lib/porkadot/assets/kubernetes/manifests/kube-scheduler.yaml.erb +3 -1
- data/lib/porkadot/assets/kubernetes.rb +22 -1
- data/lib/porkadot/config.rb +1 -1
- data/lib/porkadot/configs/addons.rb +4 -0
- data/lib/porkadot/configs/etcd.rb +9 -0
- data/lib/porkadot/configs/kubelet.rb +25 -7
- data/lib/porkadot/default.yaml +17 -15
- data/lib/porkadot/install/bootstrap.rb +1 -1
- data/lib/porkadot/install/kubelet.rb +24 -40
- data/lib/porkadot/version.rb +1 -1
- data/lib/porkadot.rb +1 -0
- metadata +17 -7
- data/lib/porkadot/assets/kubelet/install.sh.erb +0 -35
- data/lib/porkadot/assets/kubelet/setup-containerd.sh.erb +0 -17
- 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:
|
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
|
@@ -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
|
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
|
data/lib/porkadot/config.rb
CHANGED
@@ -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
|
58
|
-
return
|
59
|
-
|
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
|
data/lib/porkadot/default.yaml
CHANGED
@@ -11,14 +11,14 @@ nodes: {}
|
|
11
11
|
bootstrap: {}
|
12
12
|
|
13
13
|
addons:
|
14
|
-
enabled: [flannel, coredns, metallb, kubelet-
|
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:
|
19
|
-
plugin_image_tag: v1.
|
20
|
-
daemon_image_repository:
|
21
|
-
daemon_image_tag: v0.
|
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:
|
46
|
-
image_tag:
|
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.
|
51
|
-
crictl_version: v1.
|
52
|
-
image_repository: k8s.
|
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
|
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:
|
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:
|
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}/
|
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
|
-
|
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
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
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
|
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.
|
84
|
-
upload! host.
|
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
|
-
|
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"
|
data/lib/porkadot/version.rb
CHANGED
data/lib/porkadot.rb
CHANGED
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.
|
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:
|
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/
|
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/
|
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
|