--- - name: kubeadm join | Check if node already joined ansible.builtin.stat: path: /etc/kubernetes/kubelet.conf register: _kubelet_conf - name: kubeadm join | Generate fresh join command on control plane ansible.builtin.command: kubeadm token create --print-join-command delegate_to: "{{ worker_join_source_host }}" register: _join_command changed_when: false when: not _kubelet_conf.stat.exists - name: kubeadm join | Execute join command ansible.builtin.command: "{{ _join_command.stdout | trim }}" when: not _kubelet_conf.stat.exists changed_when: true async: 300 poll: 10