From e39dc064e234ca0222b60cd0e82a4c7d9c0b934e Mon Sep 17 00:00:00 2001 From: Karim Naufal Date: Sun, 20 Feb 2022 02:04:37 +0100 Subject: [PATCH] making k3s start more robust --- agents.tf | 4 +++- locals.tf | 2 +- master.tf | 1 + servers.tf | 3 ++- 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/agents.tf b/agents.tf index 7e9724e..2944711 100644 --- a/agents.tf +++ b/agents.tf @@ -72,12 +72,14 @@ resource "hcloud_server" "agents" { inline = local.install_k3s_agent } - # Upon reboot verify that k3s agent starts correctly + # Start the k3s agent and wait for it to have started provisioner "remote-exec" { inline = [ + "systemctl start k3s-agent", <<-EOT timeout 120 bash < /dev/null; do + systemctl start k3s-agent echo "Waiting for the k3s agent to start..." sleep 2 done diff --git a/locals.tf b/locals.tf index ce74971..9ccfbc0 100644 --- a/locals.tf +++ b/locals.tf @@ -87,6 +87,6 @@ udevadm settle install_k3s_server = concat(local.common_commands_install_k3s, ["curl -sfL https://get.k3s.io | INSTALL_K3S_SKIP_SELINUX_RPM=true INSTALL_K3S_SKIP_START=true INSTALL_K3S_EXEC=server sh -"]) - install_k3s_agent = concat(local.common_commands_install_k3s, ["curl -sfL https://get.k3s.io | INSTALL_K3S_SKIP_SELINUX_RPM=true INSTALL_K3S_EXEC=agent sh -"]) + install_k3s_agent = concat(local.common_commands_install_k3s, ["curl -sfL https://get.k3s.io | INSTALL_K3S_SKIP_SELINUX_RPM=true INSTALL_K3S_SKIP_START=true INSTALL_K3S_EXEC=agent sh -"]) } diff --git a/master.tf b/master.tf index 9096ab1..a0015dd 100644 --- a/master.tf +++ b/master.tf @@ -84,6 +84,7 @@ resource "hcloud_server" "first_control_plane" { <<-EOT timeout 120 bash < /dev/null; do + systemctl start k3s echo "Waiting for the k3s server to start..." sleep 2 done diff --git a/servers.tf b/servers.tf index 18b48b7..e1d069b 100644 --- a/servers.tf +++ b/servers.tf @@ -77,13 +77,14 @@ resource "hcloud_server" "control_planes" { inline = local.install_k3s_server } - # Upon reboot verify that the k3s server starts correctly + # Start the k3s server and wait for it to have started correctly provisioner "remote-exec" { inline = [ "systemctl start k3s", <<-EOT timeout 120 bash < /dev/null; do + systemctl start k3s echo "Waiting for the k3s server to start..." sleep 2 done