porkadot 0.27.0 → 0.28.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4c07a12e74dc88a72405973ad089edd4945503f480ce4535f443ff2e53dbe6ac
4
- data.tar.gz: 498dc2fb51a42c4642d27c07ca5cd4f32d4c2df0711b67d4a4e2de0335e66c6b
3
+ metadata.gz: 7c578c835b4a0d89d55ccb28da3bbad3b44c13be16dbd1e0cbba6dba9acaa2c4
4
+ data.tar.gz: ceb7aa6d886d2fa6063ed398ae3db3412605d5218bb75f566eea0bbbe0d6fa59
5
5
  SHA512:
6
- metadata.gz: 73543001f7c2aa6607343c9570cc23aefe1cad6f4c71229b11b0f2ef41dbea79309e55a3cce0e0ce46a2563be81e35c884ce3d9b001ec2b6ce811cd679e6c3a0
7
- data.tar.gz: 1374a8033677f5259bdecebf29f00c279f20940199ba51e620763ac3f336cf359827460283f288bda0c6cc93363fad2076b6a0a32c63f90eaafd195355a49d52
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
@@ -49,8 +49,8 @@ etcd:
49
49
  extra_env: []
50
50
 
51
51
  kubernetes:
52
- kubernetes_version: v1.27.14
53
- crictl_version: v1.27.1
52
+ kubernetes_version: v1.28.10
53
+ crictl_version: v1.28.0
54
54
  image_repository: registry.k8s.io
55
55
 
56
56
  networking:
@@ -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.27.0"
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.27.0
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-20 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