From 405933460200ff6c7204b7042cc543849dfcaf33 Mon Sep 17 00:00:00 2001 From: juvdiaz Date: Thu, 4 Jun 2026 22:15:15 -0600 Subject: [PATCH] Fix Raspberry worker rebuild rejoin --- bootstrap/cluster/main.tf | 9 +++++++++ bootstrap/cluster/variables.tf | 5 +++++ .../provisioning/templates/golden-node-prepare.sh.tftpl | 1 + lab.sh | 1 + 4 files changed, 16 insertions(+) diff --git a/bootstrap/cluster/main.tf b/bootstrap/cluster/main.tf index e69e489..c1b51e3 100644 --- a/bootstrap/cluster/main.tf +++ b/bootstrap/cluster/main.tf @@ -52,6 +52,7 @@ install_containerd_runtime() { sudo install -d -m 0755 /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc + sudo rm -f /etc/apt/sources.list.d/docker.list sudo tee /etc/apt/sources.list.d/docker.sources >/dev/null </dev/null </dev/null || true + sudo rm -rf /etc/kubernetes/ /var/lib/kubelet/ /var/lib/cni/ /etc/cni/net.d +fi + if [ -f /etc/kubernetes/kubelet.conf ] && ! timeout 5 bash -c 'exec 3<>/dev/tcp/127.0.0.1/10248; printf "GET /healthz HTTP/1.0\r\n\r\n" >&3; grep -q ok <&3' >/dev/null 2>&1; then sudo kubeadm reset --force || true sudo systemctl stop kubelet 2>/dev/null || true diff --git a/bootstrap/cluster/variables.tf b/bootstrap/cluster/variables.tf index 54a0041..c80d303 100644 --- a/bootstrap/cluster/variables.tf +++ b/bootstrap/cluster/variables.tf @@ -69,6 +69,11 @@ variable "worker_node_labels" { default = {} } +variable "force_worker_rejoin" { + type = bool + default = false +} + variable "tailscale_nodeport_access" { type = object({ enabled = bool diff --git a/bootstrap/provisioning/templates/golden-node-prepare.sh.tftpl b/bootstrap/provisioning/templates/golden-node-prepare.sh.tftpl index 25df0c7..9172f15 100644 --- a/bootstrap/provisioning/templates/golden-node-prepare.sh.tftpl +++ b/bootstrap/provisioning/templates/golden-node-prepare.sh.tftpl @@ -107,6 +107,7 @@ install_containerd_runtime() { install -d -m 0755 /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc chmod a+r /etc/apt/keyrings/docker.asc + rm -f /etc/apt/sources.list.d/docker.list cat >/etc/apt/sources.list.d/docker.sources <