--- - name: Create the kubernetes cluster using kubeadm hosts: gcp_first_master_true become: true tasks: - name: Create kubeadm join command shell: kubeadm token create --print-join-command register: results - debug: var: results.stdout - set_fact: running: true - set_fact: token: "{{ results.stdout | regex_search(regexp, '\\2') | first }}" vars: regexp: '([^\s]+\s){4}([^\s]+)' - debug: var: token - set_fact: hash: "{{ results.stdout | regex_search(regexp, '\\1') | first }}" vars: regexp: '--discovery-token-ca-cert-hash ([^\s]+)' - debug: var: hash - name: Set up worker nodes hosts: gcp_k8s_role_worker become: true tasks: - name: Install kubernetes on nodes command: kubeadm join "{{ hostvars[item]['ansible_eth0']['ipv4']['address'] }}":6443 --token "{{ hostvars[item]['token'] }}" --discovery-token-ca-cert-hash "{{ hostvars[item]['hash'] }}" when: hostvars[item]['running'] == true with_items: "{{ groups['gcp_first_master_true'] }}" register: join_output - debug: var: join_output.stdout