porkadot 0.26.1 → 0.28.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a7e5c0269ae966cbbcd72c86d39866a5d874b7a1f378d6018bda26f08fd6e22b
4
- data.tar.gz: 930b94aee3c8d0bca8dec896e8a0c85d447cb64ebd6d1bdf297c38df0dbce55f
3
+ metadata.gz: 7c578c835b4a0d89d55ccb28da3bbad3b44c13be16dbd1e0cbba6dba9acaa2c4
4
+ data.tar.gz: ceb7aa6d886d2fa6063ed398ae3db3412605d5218bb75f566eea0bbbe0d6fa59
5
5
  SHA512:
6
- metadata.gz: 64423d83c7c1667e5d5fcbb1ac25f051d787ab84a1e11543f9f3296c50385c498cb4087a5b5bcc3c7d8e54942c9242fecd8be971882c1841bbbe7883627397c6
7
- data.tar.gz: 34b302eba12e397621deb13cdb13011136bcf78a53b0ebbadaa58a97658410b94845d72c1314da672886b696191bd3e507fa4350d05f0c8bb0cca42c2b3f58d4
6
+ metadata.gz: a5fd7693d6472b4fe004673c61d49b8b400486f53bd23080b5bc11df5096a325d9a4808903ad4658c90d04e8af0596678f23108e6d73cd9838025c3dcb0323ed
7
+ data.tar.gz: 9b07549ee7852517cce40a5f7f143799f937015b12d70b6257e9638aad13ffb57507670e75a6bffd9db124aaeebf2c7908a735ee37da2e7b5e145b9177328982
@@ -17,13 +17,13 @@ RELEASE="<%= global_config.k8s.kubernetes_version %>"
17
17
 
18
18
  mkdir -p /opt/bin
19
19
 
20
- curl -L https://storage.googleapis.com/kubernetes-release/release/${RELEASE}/bin/linux/${architecture}/kubectl \
20
+ curl -L https://dl.k8s.io/${RELEASE}/bin/linux/${architecture}/kubectl \
21
21
  -o /opt/bin/kubectl-${RELEASE}
22
22
  chmod +x /opt/bin/kubectl-${RELEASE}
23
23
  rm -f /opt/bin/kubectl
24
24
  ln -s /opt/bin/kubectl-${RELEASE} /opt/bin/kubectl
25
25
 
26
- curl -L https://storage.googleapis.com/kubernetes-release/release/${RELEASE}/bin/linux/${architecture}/kubelet \
26
+ curl -L https://dl.k8s.io/${RELEASE}/bin/linux/${architecture}/kubelet \
27
27
  -o /opt/bin/kubelet-${RELEASE}
28
28
  chmod +x /opt/bin/kubelet-${RELEASE}
29
29
  rm -f /opt/bin/kubelet
@@ -5,12 +5,18 @@ export LC_ALL=C
5
5
  ROOT=$(dirname "${BASH_SOURCE}")
6
6
  KUBECTL_OPTS=${KUBECTL_OPTS:-""}
7
7
 
8
- KUBECTL_OPTS="${KUBECTL_OPTS} --prune"
9
- KUBECTL_OPTS="${KUBECTL_OPTS} -l kubernetes.unstable.cloud/installed-by=porkadot"
10
- <%- prune_allowlist.each do |a| -%>
11
- KUBECTL_OPTS="${KUBECTL_OPTS} --prune-allowlist=<%= a %>"
12
- <%- end -%>
8
+ KUBE_TARGET=${KUBE_TARGET:-""}
9
+
10
+ if [ -n "${KUBE_TARGET}" ]; then
11
+ KUBECTL_OPTS="${KUBECTL_OPTS} -l=app.kubernetes.io/component=${KUBE_TARGET}"
12
+ else
13
+ KUBECTL_OPTS="${KUBECTL_OPTS} --prune"
14
+ KUBECTL_OPTS="${KUBECTL_OPTS} -l kubernetes.unstable.cloud/installed-by=porkadot"
15
+ <%- prune_allowlist.each do |a| -%>
16
+ KUBECTL_OPTS="${KUBECTL_OPTS} --prune-allowlist=<%= a %>"
17
+ <%- end -%>
18
+ /opt/bin/kubectl apply --force-conflicts --server-side -R -f ${ROOT}/manifests/crds
19
+ /opt/bin/kubectl wait --for condition=established --timeout=60s crd --all
20
+ fi
13
21
 
14
- /opt/bin/kubectl apply --force-conflicts --server-side -R -f ${ROOT}/manifests/crds
15
- /opt/bin/kubectl wait --for condition=established --timeout=60s crd --all
16
22
  /opt/bin/kubectl apply ${KUBECTL_OPTS} -k ${ROOT}
@@ -6,6 +6,10 @@ metadata:
6
6
  annotations:
7
7
  labels:
8
8
  provider: porkadot
9
+ app.kubernetes.io/component: kube-apiserver
10
+ app.kubernetes.io/managed-by: porkadot
11
+ app.kubernetes.io/name: kube-apiserver
12
+ app.kubernetes.io/part-of: kubernetes
9
13
  name: porkadot-kubernetes
10
14
  namespace: kube-system
11
15
  spec:
@@ -28,6 +32,10 @@ metadata:
28
32
  annotations:
29
33
  labels:
30
34
  provider: porkadot
35
+ app.kubernetes.io/component: kube-apiserver
36
+ app.kubernetes.io/managed-by: porkadot
37
+ app.kubernetes.io/name: kube-apiserver
38
+ app.kubernetes.io/part-of: kubernetes
31
39
  name: porkadot-kubernetes-latest
32
40
  namespace: kube-system
33
41
  spec:
@@ -0,0 +1,66 @@
1
+
2
+ module Porkadot; module Cmd; module Install; module Kubernetes
3
+ class Cli < Porkadot::SubCommandBase
4
+ include Porkadot::Utils
5
+
6
+ def initialize(*arg)
7
+ super
8
+ end
9
+
10
+ no_commands do
11
+ def install target=''
12
+ kubelets = Porkadot::Install::KubeletList.new(self.config)
13
+ if node = options[:node]
14
+ nodes = kubelets[node]
15
+ else
16
+ nodes = Porkadot::Install::Bootstrap.new(self.config).host
17
+ end
18
+ k8s = Porkadot::Install::Kubernetes.new(self.config)
19
+ k8s.install(nodes, target)
20
+ ""
21
+ end
22
+ end
23
+
24
+ default_task :all
25
+ desc "all", "Install all components"
26
+ option :node, type: :string
27
+ def all
28
+ logger.info "Installing kubernetes"
29
+ self.install
30
+ end
31
+
32
+ desc "apiserver", "Install apiserver"
33
+ option :node, type: :string
34
+ def apiserver
35
+ logger.info "Installing kube-apiserver"
36
+ self.install 'kube-apiserver'
37
+ end
38
+
39
+ desc "controller-manager", "Install controller-manager"
40
+ option :node, type: :string
41
+ def controller_manager
42
+ logger.info "Installing kube-controller-manager"
43
+ self.install 'kube-controller-manager'
44
+ end
45
+
46
+ desc "scheduler", "Install scheduler"
47
+ option :node, type: :string
48
+ def scheduler
49
+ logger.info "Installing kube-scheduler"
50
+ self.install 'kube-scheduler'
51
+ end
52
+
53
+ desc "proxy", "Install proxy"
54
+ option :node, type: :string
55
+ def proxy
56
+ logger.info "Installing kube-proxy"
57
+ self.install 'kube-proxy'
58
+ end
59
+
60
+ def self.subcommand_prefix
61
+ 'install kubernetes'
62
+ end
63
+ end
64
+
65
+ end; end; end; end
66
+
@@ -27,19 +27,7 @@ module Porkadot; module Cmd; module Install
27
27
  end
28
28
 
29
29
  desc "kubernetes", "Install kubernetes"
30
- option :node, type: :string
31
- def kubernetes
32
- logger.info "Installing kubernetes"
33
- kubelets = Porkadot::Install::KubeletList.new(self.config)
34
- if node = options[:node]
35
- nodes = kubelets[node]
36
- else
37
- nodes = Porkadot::Install::Bootstrap.new(self.config).host
38
- end
39
- k8s = Porkadot::Install::Kubernetes.new(self.config)
40
- k8s.install(nodes)
41
- ""
42
- end
30
+ subcommand "kubernetes", Porkadot::Cmd::Install::Kubernetes::Cli
43
31
 
44
32
  desc "bootstrap", "Install bootstrap components"
45
33
  subcommand "bootstrap", Porkadot::Cmd::Install::Bootstrap::Cli
@@ -45,16 +45,16 @@ addons:
45
45
 
46
46
  etcd:
47
47
  image_repository: registry.k8s.io/etcd
48
- image_tag: 3.5.5-0
48
+ image_tag: 3.5.12-0
49
49
  extra_env: []
50
50
 
51
51
  kubernetes:
52
- kubernetes_version: v1.26.15
53
- crictl_version: v1.26.0
52
+ kubernetes_version: v1.28.10
53
+ crictl_version: v1.28.0
54
54
  image_repository: registry.k8s.io
55
55
 
56
56
  networking:
57
- cni_version: v1.2.0
57
+ cni_version: v1.4.1
58
58
  service_subnet: '10.254.0.0/24'
59
59
  pod_subnet: '10.244.0.0/16'
60
60
  dns_domain: 'cluster.local'
@@ -13,7 +13,7 @@ module Porkadot; module Install
13
13
  @logger = global_config.logger
14
14
  end
15
15
 
16
- def install host
16
+ def install host, target=''
17
17
  # global_config = self.global_config
18
18
  config = self.config
19
19
  on(host) do |host|
@@ -26,9 +26,12 @@ module Porkadot; module Install
26
26
  upload! config.target_secrets_path, KUBE_SECRETS_TEMP, recursive: true
27
27
 
28
28
  # as user: 'root' do
29
- with KUBECONFIG: File.join(KUBE_SECRETS_TEMP, 'kubeconfig.yaml') do
30
- execute(:bash, File.join(KUBE_SECRETS_TEMP, 'install.secrets.sh'))
31
- execute(:bash, File.join(KUBE_TEMP, 'install.sh'))
29
+ with KUBE_TARGET: target do
30
+ with KUBECONFIG: File.join(KUBE_SECRETS_TEMP, 'kubeconfig.yaml') do
31
+ execute(:bash, File.join(KUBE_SECRETS_TEMP, 'install.secrets.sh'))
32
+ # execute(:bash, File.join(KUBE_TEMP, 'install.sh'), interaction_handler: SSHKit::MappingInteractionHandler.new({}, :info))
33
+ info capture(:bash, File.join(KUBE_TEMP, 'install.sh'))
34
+ end
32
35
  end
33
36
  end
34
37
  end
@@ -1,3 +1,3 @@
1
1
  module Porkadot
2
- VERSION = "0.26.1"
2
+ VERSION = "0.28.0"
3
3
  end
data/lib/porkadot.rb CHANGED
@@ -37,6 +37,7 @@ require 'porkadot/install/bootstrap'
37
37
  require 'porkadot/cmd/render/certs'
38
38
  require 'porkadot/cmd/render'
39
39
  require 'porkadot/cmd/install/bootstrap'
40
+ require 'porkadot/cmd/install/kubernetes'
40
41
  require 'porkadot/cmd/install'
41
42
  require 'porkadot/cmd/etcd'
42
43
  require 'porkadot/cmd'
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.26.1
4
+ version: 0.28.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: 2024-05-12 00:00:00.000000000 Z
11
+ date: 2024-06-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -200,6 +200,7 @@ files:
200
200
  - lib/porkadot/cmd/etcd.rb
201
201
  - lib/porkadot/cmd/install.rb
202
202
  - lib/porkadot/cmd/install/bootstrap.rb
203
+ - lib/porkadot/cmd/install/kubernetes.rb
203
204
  - lib/porkadot/cmd/render.rb
204
205
  - lib/porkadot/cmd/render/certs.rb
205
206
  - lib/porkadot/config.rb