--- - name: Drain and stop worker nodes first hosts: workers become: true tasks: - name: Drain worker node (optional - requires kubectl access) shell: kubectl drain {{ inventory_hostname }} --ignore-daemonsets --delete-emptydir-data || true delegate_to: manager ignore_errors: yes - name: Stop k3s-agent service on worker systemd: name: k3s-agent state: stopped enabled: false - name: Poweroff worker node shell: shutdown -h now async: 0 poll: 0 - name: Stop and poweroff the manager node hosts: manager become: true tasks: - name: Stop k3s (server) service systemd: name: k3s state: stopped enabled: false - name: Poweroff manager node shell: shutdown -h now async: 0 poll: 0