# 生成 SSH key(如果還沒有) sudo ssh-keygen -t rsa -b 4096 -N "" -f /root/.ssh/id_rsa # 複製 key 到 Agent 節點(Exp. 使用 jonathan 帳號) sudo ssh-copy-id [email protected] # 測試連線 sudo ssh [email protected] "echo SSH OK"
sudo ssh [email protected]# 設定 jonathan 使用者 sudo 免密碼 echo 'jonathan ALL=(ALL) NOPASSWD: ALL' | sudo tee /etc/sudoers.d/jonathan sudo chmod 440 /etc/sudoers.d/jonathan # 測試 sudo 免密碼 sudo -n true && echo "Sudo OK" # 登出 exit
# 測試 SSH + sudo reboot sudo ssh [email protected] "sudo -n reboot --help" # 如果上面的命令成功,表示設定正確
sudo curl -o /usr/local/bin/k3s-reboot-manager.sh https://raw.githubusercontent.com/tryweb/k3s/refs/heads/main/systools/k3s-reboot-manager.sh sudo chmod a+x /usr/local/bin/k3s-reboot-manager.sh
環境需要安裝 jq 套件
sudo apt-get update && sudo apt-get install -y jqjonathan@k3s-master-171:~$ sudo k3s-reboot-manager.sh [INFO] === K3s Server 遠端節點重開機管理工具 === [INFO] 當前叢集節點狀態: NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME k3s-master-171 Ready control-plane,master 18d v1.33.6+k3s1 192.168.11.171 <none> Ubuntu 24.04.3 LTS 6.8.0-90-generic containerd://2.1.5-k3s1.33 k3s-worker-172 Ready <none> 18d v1.33.6+k3s1 192.168.11.172 <none> Ubuntu 24.04.3 LTS 6.8.0-90-generic containerd://2.1.5-k3s1.33 k3s-worker-173 Ready <none> 18d v1.33.6+k3s1 192.168.11.173 <none> Ubuntu 24.04.3 LTS 6.8.0-90-generic containerd://2.1.5-k3s1.33 請選擇操作: 1) 重開單一 Agent 節點 2) 重開所有 Agent 節點(依序) 3) 重開本地 Server 節點 4) 顯示節點狀態 5) 驗證叢集狀態 0) 退出 請選擇 [0-5]:
# 重開單一節點 sudo /usr/local/bin/k3s-reboot-manager.sh --reboot-agent k3s-worker-172 jonathan
kubectl uncordon k3s-master-171