porkadot 0.22.2 → 0.25.0
Sign up to get free protection for your applications and to get access to all the features.
- 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/kustomization.yaml.erb +2 -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 +520 -228
- 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 -3
- data/lib/porkadot/cmd/cli.rb +11 -0
- data/lib/porkadot/cmd/etcd.rb +68 -0
- data/lib/porkadot/config.rb +1 -1
- data/lib/porkadot/configs/addons.rb +4 -0
- data/lib/porkadot/configs/certs.rb +3 -0
- data/lib/porkadot/configs/etcd.rb +44 -2
- data/lib/porkadot/configs/kubelet.rb +25 -7
- data/lib/porkadot/const.rb +3 -0
- data/lib/porkadot/default.yaml +17 -15
- data/lib/porkadot/install/bootstrap.rb +1 -1
- data/lib/porkadot/install/kubelet.rb +123 -27
- data/lib/porkadot/version.rb +1 -1
- data/lib/porkadot.rb +2 -0
- data/porkadot.gemspec +1 -0
- metadata +33 -8
- 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.secrets.yaml.erb +0 -13
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
|
|
@@ -37,4 +38,5 @@ require 'porkadot/cmd/render/certs'
|
|
37
38
|
require 'porkadot/cmd/render'
|
38
39
|
require 'porkadot/cmd/install/bootstrap'
|
39
40
|
require 'porkadot/cmd/install'
|
41
|
+
require 'porkadot/cmd/etcd'
|
40
42
|
require 'porkadot/cmd'
|
data/porkadot.gemspec
CHANGED
@@ -36,6 +36,7 @@ Gem::Specification.new do |spec|
|
|
36
36
|
spec.add_dependency "thor", "~> 1.0"
|
37
37
|
spec.add_dependency "hashie", "~> 4.1"
|
38
38
|
spec.add_dependency "sshkit", "~> 1.20"
|
39
|
+
spec.add_dependency "net-ssh", "= 7.0.1"
|
39
40
|
spec.add_development_dependency "bundler", "~> 2.0"
|
40
41
|
spec.add_development_dependency "rake", "~> 13.0"
|
41
42
|
spec.add_development_dependency "minitest", "~> 5.0"
|
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
|
@@ -52,6 +52,20 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '1.20'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: net-ssh
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - '='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 7.0.1
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - '='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 7.0.1
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: bundler
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -114,7 +128,12 @@ files:
|
|
114
128
|
- config/unstable.yaml
|
115
129
|
- exe/porkadot
|
116
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
|
117
134
|
- hack/storage-version-migrator/kustomization.yaml
|
135
|
+
- hack/update-kubelet-cert-approver.sh
|
136
|
+
- hack/update-metallb.sh
|
118
137
|
- lib/porkadot.rb
|
119
138
|
- lib/porkadot/assets.rb
|
120
139
|
- lib/porkadot/assets/bootstrap.rb
|
@@ -132,16 +151,19 @@ files:
|
|
132
151
|
- lib/porkadot/assets/certs/k8s.rb
|
133
152
|
- lib/porkadot/assets/etcd.rb
|
134
153
|
- lib/porkadot/assets/etcd/etcd-server.yaml.erb
|
154
|
+
- lib/porkadot/assets/etcd/etcd.env.erb
|
135
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
|
136
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
|
137
161
|
- lib/porkadot/assets/kubelet.rb
|
138
162
|
- lib/porkadot/assets/kubelet/bootstrap-kubelet.conf.erb
|
139
163
|
- lib/porkadot/assets/kubelet/config.yaml.erb
|
140
|
-
- lib/porkadot/assets/kubelet/
|
141
|
-
- lib/porkadot/assets/kubelet/install-pkgs.sh.erb
|
142
|
-
- lib/porkadot/assets/kubelet/install.sh.erb
|
164
|
+
- lib/porkadot/assets/kubelet/initiatorname.iscsi.erb
|
143
165
|
- lib/porkadot/assets/kubelet/kubelet.service.erb
|
144
|
-
- lib/porkadot/assets/kubelet/
|
166
|
+
- lib/porkadot/assets/kubelet/metadata.json.erb
|
145
167
|
- lib/porkadot/assets/kubernetes.rb
|
146
168
|
- lib/porkadot/assets/kubernetes/install.secrets.sh.erb
|
147
169
|
- lib/porkadot/assets/kubernetes/install.sh.erb
|
@@ -154,11 +176,13 @@ files:
|
|
154
176
|
- lib/porkadot/assets/kubernetes/manifests/addons/flannel/kustomization.yaml.erb
|
155
177
|
- lib/porkadot/assets/kubernetes/manifests/addons/kubelet-rubber-stamp/kubelet-rubber-stamp.yaml.erb
|
156
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
|
157
181
|
- lib/porkadot/assets/kubernetes/manifests/addons/kustomization.yaml.erb
|
158
182
|
- lib/porkadot/assets/kubernetes/manifests/addons/metallb/000-metallb.yaml.erb
|
183
|
+
- lib/porkadot/assets/kubernetes/manifests/addons/metallb/crds.yaml
|
159
184
|
- lib/porkadot/assets/kubernetes/manifests/addons/metallb/kustomization.yaml.erb
|
160
185
|
- lib/porkadot/assets/kubernetes/manifests/addons/metallb/metallb.config.yaml.erb
|
161
|
-
- lib/porkadot/assets/kubernetes/manifests/addons/metallb/metallb.secrets.yaml.erb
|
162
186
|
- lib/porkadot/assets/kubernetes/manifests/addons/metallb/metallb.yaml.erb
|
163
187
|
- lib/porkadot/assets/kubernetes/manifests/addons/storage-version-migrator/kustomization.yaml.erb
|
164
188
|
- lib/porkadot/assets/kubernetes/manifests/addons/storage-version-migrator/storage-version-migrator.yaml.erb
|
@@ -173,6 +197,7 @@ files:
|
|
173
197
|
- lib/porkadot/assets/kubernetes/manifests/porkadot.yaml.erb
|
174
198
|
- lib/porkadot/cmd.rb
|
175
199
|
- lib/porkadot/cmd/cli.rb
|
200
|
+
- lib/porkadot/cmd/etcd.rb
|
176
201
|
- lib/porkadot/cmd/install.rb
|
177
202
|
- lib/porkadot/cmd/install/bootstrap.rb
|
178
203
|
- lib/porkadot/cmd/render.rb
|
@@ -218,7 +243,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
218
243
|
- !ruby/object:Gem::Version
|
219
244
|
version: '0'
|
220
245
|
requirements: []
|
221
|
-
rubygems_version: 3.
|
246
|
+
rubygems_version: 3.3.7
|
222
247
|
signing_key:
|
223
248
|
specification_version: 4
|
224
249
|
summary: Porkadot is a CLI tool to deploy Kubernetes cluster.
|
@@ -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
|
@@ -1,13 +0,0 @@
|
|
1
|
-
<% require 'securerandom' -%>
|
2
|
-
<% k8s = global_config.k8s -%>
|
3
|
-
---
|
4
|
-
apiVersion: v1
|
5
|
-
stringData:
|
6
|
-
secretkey: <%= SecureRandom.base64(128) %>
|
7
|
-
kind: Secret
|
8
|
-
metadata:
|
9
|
-
name: memberlist
|
10
|
-
namespace: metallb-system
|
11
|
-
labels:
|
12
|
-
app: metallb
|
13
|
-
type: Opaque
|