Files
TerraHome/nixos/kubeadm/scripts/reset-cluster-nodes.sh
MichaelFisher1997 9fe845b53d
All checks were successful
Terraform Plan / Terraform Plan (push) Successful in 17s
feat: add repeatable kubeadm rebuild and reset scripts
2026-02-28 16:24:45 +00:00

38 lines
1.0 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
INVENTORY_FILE="${1:-$SCRIPT_DIR/inventory.env}"
if [ ! -f "$INVENTORY_FILE" ]; then
echo "Missing inventory file: $INVENTORY_FILE"
echo "Copy $SCRIPT_DIR/inventory.example.env to $SCRIPT_DIR/inventory.env and edit IPs."
exit 1
fi
# shellcheck disable=SC1090
source "$INVENTORY_FILE"
SSH_USER="${SSH_USER:-micqdf}"
SSH_OPTS="${SSH_OPTS:- -o BatchMode=yes -o StrictHostKeyChecking=accept-new }"
required=(CP_1 CP_2 CP_3 WK_1 WK_2 WK_3)
for key in "${required[@]}"; do
if [ -z "${!key:-}" ]; then
echo "Missing required inventory variable: $key"
exit 1
fi
done
reset_node() {
local node_ip="$1"
echo "==> Resetting $node_ip"
ssh $SSH_OPTS "$SSH_USER@$node_ip" "sudo kubeadm reset -f && sudo systemctl stop kubelet && sudo rm -rf /etc/kubernetes /var/lib/etcd /var/lib/cni /etc/cni/net.d"
}
for key in CP_1 CP_2 CP_3 WK_1 WK_2 WK_3; do
reset_node "${!key}"
done
echo "Cluster components reset on all listed nodes."