Without triggers, commands cached in Pulumi state don't re-run when VMs
are deleted and recreated with new IDs. This caused stale state where
start/install commands were skipped while the new VMs were never
bootstrapped, leading to SSH "no route to host" failures.
All command resources now carry triggers: [vmId] so they are
automatically replaced (and re-run) whenever the underlying VM changes.
Also adds --node-name to every k3s install/join command so nodes register
under the expected name (k3s-master-1 etc.) regardless of the VM's actual
hostname, which cloud-init does not set explicitly.