Purpose: For operators, shows how to rejoin a Windows worker node when ContainerD is already installed but the node needs to re-register with the cluster.
Task summary
When a Windows node loses its cluster membership (expired certificates, cluster rebuild, manual reset), you can skip the ContainerD installation and run only the win-kubeadm role with the join tag.
Prerequisites
-
ContainerD is installed and running on the Windows node
-
The control plane is accessible and healthy
-
The previous node object has been deleted from the cluster (if it still exists)
Steps
-
If the old node object still exists, remove it from the control plane:
kubectl delete node <windows-node-name>
-
On the Windows node, reset the previous kubeadm state:
C:\k\kubeadm.exe reset -f --cri-socket "npipe:////./pipe/containerd-containerd"
-
Run the playbook with only the
jointag:
ansible-playbook -i inventory.ini windows-workers.yml --tags join
This skips ContainerD installation, binary downloads, and service configuration. It generates a fresh join token on the control plane and executes kubeadm join on the Windows node.