Stabilize worker rejoin reset
This commit is contained in:
parent
6296e52e4b
commit
a006cfc3fe
|
|
@ -395,6 +395,7 @@ resource "null_resource" "kubeadm_worker" {
|
|||
containerd_runtime = "docker-containerd-io"
|
||||
cni_plugins_version = "2"
|
||||
force_rejoin = tostring(var.force_worker_rejoin)
|
||||
worker_rejoin_reset_version = "2"
|
||||
node_dns_servers = join(" ", var.node_dns_servers)
|
||||
persistent_volume_dirs = join(",", var.persistent_volume_dirs)
|
||||
tailscale_nodeport_version = "3"
|
||||
|
|
@ -824,6 +825,25 @@ configure_tailscale_subnet_routes \
|
|||
|
||||
configure_containerd_registry "${self.triggers.registry_endpoint}"
|
||||
|
||||
reset_worker_join_state() {
|
||||
sudo systemctl stop kubelet 2>/dev/null || true
|
||||
sudo kubeadm reset --force || true
|
||||
sudo systemctl stop kubelet 2>/dev/null || true
|
||||
sudo systemctl stop containerd 2>/dev/null || true
|
||||
|
||||
sudo rm -rf /etc/kubernetes/ /var/lib/kubelet/ /var/lib/cni/
|
||||
sudo mkdir -p /etc/cni/net.d
|
||||
sudo rm -rf /etc/cni/net.d/*
|
||||
sudo mkdir -p /var/lib/kubelet /var/lib/cni
|
||||
|
||||
sudo systemctl reset-failed kubelet containerd 2>/dev/null || true
|
||||
if ! sudo systemctl start containerd; then
|
||||
sudo systemctl status containerd --no-pager -l || true
|
||||
sudo journalctl -u containerd --no-pager -n 160 || true
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
pv_dirs="${self.triggers.persistent_volume_dirs}"
|
||||
IFS=','
|
||||
for path in $pv_dirs; do
|
||||
|
|
@ -832,21 +852,15 @@ for path in $pv_dirs; do
|
|||
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
|
||||
reset_worker_join_state
|
||||
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
|
||||
sudo rm -rf /etc/kubernetes/ /var/lib/kubelet/ /var/lib/cni/ /etc/cni/net.d
|
||||
reset_worker_join_state
|
||||
fi
|
||||
|
||||
if [ ! -f /etc/kubernetes/kubelet.conf ] && [ -e /var/lib/kubelet/kubeadm-flags.env ]; 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
|
||||
reset_worker_join_state
|
||||
fi
|
||||
|
||||
if [ ! -f /etc/kubernetes/kubelet.conf ]; then
|
||||
|
|
@ -856,6 +870,13 @@ if [ ! -f /etc/kubernetes/kubelet.conf ]; then
|
|||
sudo journalctl -u kubelet --no-pager -n 160 || true
|
||||
exit 1
|
||||
fi
|
||||
if [ ! -f /etc/kubernetes/kubelet.conf ] || [ ! -f /var/lib/kubelet/config.yaml ]; then
|
||||
echo "kubeadm join completed without creating kubelet configuration" >&2
|
||||
sudo ls -la /etc/kubernetes /var/lib/kubelet 2>/dev/null || true
|
||||
sudo systemctl status kubelet containerd --no-pager -l || true
|
||||
sudo journalctl -u kubelet --no-pager -n 160 || true
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
EOT
|
||||
]
|
||||
|
|
|
|||
Loading…
Reference in New Issue