fix: mask kubelet before rebuild, unmask in kubeadm helpers
Some checks failed
Terraform Plan / Terraform Plan (push) Has been cancelled

- Mask kubelet service entirely before nixos-rebuild to prevent systemd
  from restarting it during switch
- Unmask kubelet in th-kubeadm-init/join scripts before starting
This commit is contained in:
2026-03-02 12:44:40 +00:00
parent 93e43a546f
commit d42e83358c
2 changed files with 6 additions and 2 deletions

View File

@@ -141,6 +141,7 @@ in
--leaderElection \ --leaderElection \
> /etc/kubernetes/manifests/kube-vip.yaml > /etc/kubernetes/manifests/kube-vip.yaml
systemctl unmask kubelet || true
systemctl stop kubelet || true systemctl stop kubelet || true
env -i PATH=/run/current-system/sw/bin:/usr/bin:/bin kubeadm reset -f || true env -i PATH=/run/current-system/sw/bin:/usr/bin:/bin kubeadm reset -f || true
@@ -201,6 +202,7 @@ in
--leaderElection \ --leaderElection \
> /etc/kubernetes/manifests/kube-vip.yaml > /etc/kubernetes/manifests/kube-vip.yaml
systemctl unmask kubelet || true
systemctl stop kubelet || true systemctl stop kubelet || true
eval "$1" eval "$1"
'') '')
@@ -213,6 +215,7 @@ in
exit 1 exit 1
fi fi
systemctl unmask kubelet || true
systemctl stop kubelet || true systemctl stop kubelet || true
eval "$1" eval "$1"
'') '')

View File

@@ -211,9 +211,10 @@ prepare_remote_space() {
prepare_remote_kubelet() { prepare_remote_kubelet() {
local node_ip="$1" local node_ip="$1"
echo "==> Quiescing kubelet on $node_ip" echo "==> Quiescing kubelet on $node_ip"
remote "$node_ip" "sudo systemctl disable --now kubelet >/dev/null 2>&1 || true" remote "$node_ip" "sudo systemctl stop kubelet >/dev/null 2>&1 || true"
remote "$node_ip" "sudo systemctl disable kubelet >/dev/null 2>&1 || true"
remote "$node_ip" "sudo systemctl mask kubelet >/dev/null 2>&1 || true"
remote "$node_ip" "sudo systemctl reset-failed kubelet >/dev/null 2>&1 || true" remote "$node_ip" "sudo systemctl reset-failed kubelet >/dev/null 2>&1 || true"
remote "$node_ip" "sudo rm -f /etc/systemd/system/multi-user.target.wants/kubelet.service || true"
} }
populate_nodes populate_nodes