Fix Raspberry worker rebuild rejoin
This commit is contained in:
parent
5136a74700
commit
4059334602
|
|
@ -52,6 +52,7 @@ install_containerd_runtime() {
|
||||||
sudo install -d -m 0755 /etc/apt/keyrings
|
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 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 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 <<DOCKER_SOURCES
|
sudo tee /etc/apt/sources.list.d/docker.sources >/dev/null <<DOCKER_SOURCES
|
||||||
Types: deb
|
Types: deb
|
||||||
URIs: https://download.docker.com/linux/debian
|
URIs: https://download.docker.com/linux/debian
|
||||||
|
|
@ -393,6 +394,7 @@ resource "null_resource" "kubeadm_worker" {
|
||||||
registry_config_version = "8"
|
registry_config_version = "8"
|
||||||
containerd_runtime = "docker-containerd-io"
|
containerd_runtime = "docker-containerd-io"
|
||||||
cni_plugins_version = "2"
|
cni_plugins_version = "2"
|
||||||
|
force_rejoin = tostring(var.force_worker_rejoin)
|
||||||
node_dns_servers = join(" ", var.node_dns_servers)
|
node_dns_servers = join(" ", var.node_dns_servers)
|
||||||
persistent_volume_dirs = join(",", var.persistent_volume_dirs)
|
persistent_volume_dirs = join(",", var.persistent_volume_dirs)
|
||||||
tailscale_nodeport_version = "3"
|
tailscale_nodeport_version = "3"
|
||||||
|
|
@ -439,6 +441,7 @@ install_containerd_runtime() {
|
||||||
sudo install -d -m 0755 /etc/apt/keyrings
|
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 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 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 <<DOCKER_SOURCES
|
sudo tee /etc/apt/sources.list.d/docker.sources >/dev/null <<DOCKER_SOURCES
|
||||||
Types: deb
|
Types: deb
|
||||||
URIs: https://download.docker.com/linux/debian
|
URIs: https://download.docker.com/linux/debian
|
||||||
|
|
@ -828,6 +831,12 @@ for path in $pv_dirs; do
|
||||||
sudo chmod 0775 "$path"
|
sudo chmod 0775 "$path"
|
||||||
done
|
done
|
||||||
|
|
||||||
|
if [ "${self.triggers.force_rejoin}" = "true" ]; then
|
||||||
|
sudo kubeadm reset --force || true
|
||||||
|
sudo systemctl stop kubelet 2>/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
|
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 kubeadm reset --force || true
|
||||||
sudo systemctl stop kubelet 2>/dev/null || true
|
sudo systemctl stop kubelet 2>/dev/null || true
|
||||||
|
|
|
||||||
|
|
@ -69,6 +69,11 @@ variable "worker_node_labels" {
|
||||||
default = {}
|
default = {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
variable "force_worker_rejoin" {
|
||||||
|
type = bool
|
||||||
|
default = false
|
||||||
|
}
|
||||||
|
|
||||||
variable "tailscale_nodeport_access" {
|
variable "tailscale_nodeport_access" {
|
||||||
type = object({
|
type = object({
|
||||||
enabled = bool
|
enabled = bool
|
||||||
|
|
|
||||||
|
|
@ -107,6 +107,7 @@ install_containerd_runtime() {
|
||||||
install -d -m 0755 /etc/apt/keyrings
|
install -d -m 0755 /etc/apt/keyrings
|
||||||
curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
|
curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
|
||||||
chmod a+r /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 <<DOCKER_SOURCES
|
cat >/etc/apt/sources.list.d/docker.sources <<DOCKER_SOURCES
|
||||||
Types: deb
|
Types: deb
|
||||||
URIs: https://download.docker.com/linux/debian
|
URIs: https://download.docker.com/linux/debian
|
||||||
|
|
|
||||||
1
lab.sh
1
lab.sh
|
|
@ -3074,6 +3074,7 @@ rebuild_cluster() {
|
||||||
export LAB_PIMOX_TEMPLATE_REPLACE_EXISTING="${LAB_PIMOX_TEMPLATE_REPLACE_EXISTING:-true}"
|
export LAB_PIMOX_TEMPLATE_REPLACE_EXISTING="${LAB_PIMOX_TEMPLATE_REPLACE_EXISTING:-true}"
|
||||||
export LAB_PIMOX_WORKER_COUNT="${LAB_PIMOX_WORKER_COUNT:-2}"
|
export LAB_PIMOX_WORKER_COUNT="${LAB_PIMOX_WORKER_COUNT:-2}"
|
||||||
export LAB_PIMOX_WORKER_REPLACE_EXISTING="${LAB_PIMOX_WORKER_REPLACE_EXISTING:-true}"
|
export LAB_PIMOX_WORKER_REPLACE_EXISTING="${LAB_PIMOX_WORKER_REPLACE_EXISTING:-true}"
|
||||||
|
export TF_VAR_force_worker_rejoin="${TF_VAR_force_worker_rejoin:-true}"
|
||||||
|
|
||||||
echo "Rebuilding the Kubernetes cluster without touching external Raspberry Pi Gitea..."
|
echo "Rebuilding the Kubernetes cluster without touching external Raspberry Pi Gitea..."
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue