feat: Commit initial
This commit is contained in:
commit
40dc0f4184
43 changed files with 1990 additions and 0 deletions
32
ansible/roles/k3s-server/files/k3s-pre-reboot.sh
Normal file
32
ansible/roles/k3s-server/files/k3s-pre-reboot.sh
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
#!/bin/bash
|
||||
# K3s pre-reboot script
|
||||
# Drains the node before system reboot to migrate workloads gracefully
|
||||
|
||||
set -e
|
||||
|
||||
# Only run if k3s is active
|
||||
if systemctl is-active --quiet k3s; then
|
||||
NODE_NAME=$(hostname)
|
||||
|
||||
echo "$(date): Starting pre-reboot drain for node $NODE_NAME" | logger -t k3s-pre-reboot
|
||||
|
||||
# Set KUBECONFIG
|
||||
export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
|
||||
|
||||
# Drain the node (migrate pods to other nodes)
|
||||
/usr/local/bin/k3s kubectl drain "$NODE_NAME" \
|
||||
--ignore-daemonsets \
|
||||
--delete-emptydir-data \
|
||||
--force \
|
||||
--timeout=300s 2>&1 | logger -t k3s-pre-reboot
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "$(date): Node $NODE_NAME drained successfully" | logger -t k3s-pre-reboot
|
||||
else
|
||||
echo "$(date): Warning - Node drain failed or timed out" | logger -t k3s-pre-reboot
|
||||
fi
|
||||
else
|
||||
echo "$(date): k3s service not active, skipping drain" | logger -t k3s-pre-reboot
|
||||
fi
|
||||
|
||||
exit 0
|
||||
Loading…
Add table
Add a link
Reference in a new issue