hetzner-k3s 0.1.0 → 0.2.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/README.md +1 -1
- data/lib/hetzner/k3s/cli.rb +0 -6
- data/lib/hetzner/k3s/cluster.rb +10 -11
- data/lib/hetzner/k3s/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a6c87ae355b79344110f8b822668072438b9b496b602177b3d6528e56a75aea8
|
|
4
|
+
data.tar.gz: 9be4a8945d32c22f4810389b9330707177749d8c18d6416d73a6bbbdef4ff3a9
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 7c852a9f0b9b4e3dd80f5c33007f39d4191a9588874cac0d03904c15f185686757e45793525a0bf2b87787fe4d8de3969318797300e40aad4811cb74c883628f
|
|
7
|
+
data.tar.gz: 321d20a09b451ef355095268cf0da68ebefd88a43c3b7261293923b346b5ee5641ee55214cda1a8b53aaf44fa8fedb178303b1e9dd9d7de5856332c135546628
|
data/README.md
CHANGED
data/lib/hetzner/k3s/cli.rb
CHANGED
|
@@ -80,7 +80,6 @@ module Hetzner
|
|
|
80
80
|
validate_k3s_version
|
|
81
81
|
validate_masters
|
|
82
82
|
validate_worker_node_pools
|
|
83
|
-
validate_all_nodes_must_be_of_same_series
|
|
84
83
|
when :delete
|
|
85
84
|
validate_kubeconfig_path_must_exist
|
|
86
85
|
when :upgrade
|
|
@@ -221,11 +220,6 @@ module Hetzner
|
|
|
221
220
|
end
|
|
222
221
|
end
|
|
223
222
|
|
|
224
|
-
def validate_all_nodes_must_be_of_same_series
|
|
225
|
-
series = used_server_types.map{ |used_server_type| used_server_type[0..1]}
|
|
226
|
-
errors << "Master and worker node pools must all be of the same server series for networking to function properly (available series: cx, cp, ccx)" unless series.uniq.size == 1
|
|
227
|
-
end
|
|
228
|
-
|
|
229
223
|
def validate_new_k3s_version_must_be_more_recent
|
|
230
224
|
return if options[:force] == "true"
|
|
231
225
|
return unless kubernetes_client
|
data/lib/hetzner/k3s/cluster.rb
CHANGED
|
@@ -29,7 +29,6 @@ class Cluster
|
|
|
29
29
|
@masters_config = configuration.dig("masters")
|
|
30
30
|
@worker_node_pools = configuration.dig("worker_node_pools")
|
|
31
31
|
@location = configuration.dig("location")
|
|
32
|
-
@flannel_interface = find_flannel_interface(configuration.dig("masters")["instance_type"])
|
|
33
32
|
@servers = []
|
|
34
33
|
|
|
35
34
|
create_resources
|
|
@@ -66,7 +65,7 @@ class Cluster
|
|
|
66
65
|
|
|
67
66
|
attr_reader :hetzner_client, :cluster_name, :kubeconfig_path, :k3s_version,
|
|
68
67
|
:masters_config, :worker_node_pools,
|
|
69
|
-
:location, :
|
|
68
|
+
:location, :ssh_key_path, :kubernetes_client,
|
|
70
69
|
:hetzner_token, :tls_sans, :new_k3s_version, :configuration,
|
|
71
70
|
:config_file
|
|
72
71
|
|
|
@@ -216,6 +215,7 @@ class Cluster
|
|
|
216
215
|
|
|
217
216
|
def master_script(master)
|
|
218
217
|
server = master == first_master ? " --cluster-init " : " --server https://#{first_master_private_ip}:6443 "
|
|
218
|
+
flannel_interface = find_flannel_interface(master)
|
|
219
219
|
|
|
220
220
|
<<~EOF
|
|
221
221
|
curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION="#{k3s_version}" K3S_TOKEN="#{k3s_token}" INSTALL_K3S_EXEC="server \
|
|
@@ -242,7 +242,9 @@ class Cluster
|
|
|
242
242
|
EOF
|
|
243
243
|
end
|
|
244
244
|
|
|
245
|
-
def worker_script
|
|
245
|
+
def worker_script(worker)
|
|
246
|
+
flannel_interface = find_flannel_interface(worker)
|
|
247
|
+
|
|
246
248
|
<<~EOF
|
|
247
249
|
curl -sfL https://get.k3s.io | K3S_TOKEN="#{k3s_token}" INSTALL_K3S_VERSION="#{k3s_version}" K3S_URL=https://#{first_master_private_ip}:6443 INSTALL_K3S_EXEC="agent \
|
|
248
250
|
--node-name="$(hostname -f)" \
|
|
@@ -285,7 +287,7 @@ class Cluster
|
|
|
285
287
|
puts
|
|
286
288
|
puts "Deploying k3s to worker (#{worker["name"]})..."
|
|
287
289
|
|
|
288
|
-
ssh worker, worker_script, print_output: true
|
|
290
|
+
ssh worker, worker_script(worker), print_output: true
|
|
289
291
|
|
|
290
292
|
puts
|
|
291
293
|
puts "...k3s has been deployed to worker (#{worker["name"]})."
|
|
@@ -471,14 +473,11 @@ class Cluster
|
|
|
471
473
|
@kubernetes_client = K8s::Client.config(K8s::Config.new(config_hash))
|
|
472
474
|
end
|
|
473
475
|
|
|
474
|
-
def find_flannel_interface(
|
|
475
|
-
|
|
476
|
-
when "cp"
|
|
477
|
-
"enp7s0"
|
|
478
|
-
when "cc"
|
|
479
|
-
"enp7s0"
|
|
480
|
-
when "cx"
|
|
476
|
+
def find_flannel_interface(server)
|
|
477
|
+
if ssh(server, "lscpu | grep Vendor") =~ /Intel/
|
|
481
478
|
"ens10"
|
|
479
|
+
else
|
|
480
|
+
"enp7s0"
|
|
482
481
|
end
|
|
483
482
|
end
|
|
484
483
|
|
data/lib/hetzner/k3s/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: hetzner-k3s
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Vito Botta
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2021-08-
|
|
11
|
+
date: 2021-08-08 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: thor
|