- name: Definir hostname único hostname: name: "ubuntu-{{ ansible_play_hosts.index(inventory_hostname) }}" - name: Obter hostname real do nó become: true command: hostname register: node_hostname - name: Verificar se o nó já está no cluster shell: | kubectl get nodes --no-headers | grep -w {{ node_hostname.stdout }} || echo "NOT_IN_CLUSTER" register: node_status environment: KUBECONFIG: /etc/kubernetes/kubelet.conf - name: Mostrar todos os detalhes do node_status debug: var: node_status - name: Join Kubernetes cluster shell: "{{ hostvars['master1']['kubeadm_join_command'] }}" when: - (hostvars['master1']['kubeadm_join_command'] is defined) and (node_status.stdout | trim == "NOT_IN_CLUSTER") - name: Atribuir podCIDR ao nó via hostname real shell: | kubectl patch node {{ node_hostname.stdout }} -p '{"spec":{"podCIDR":"192.168.2.0/24"}}' when: inventory_hostname in groups['kube_nodes']