- name: Set up master node hosts: masters become: true tasks: - name: Check for admin.conf from kubeadm stat: path=/etc/kubernetes/admin.conf register: admin_conf - set_fact: running: admin_conf.stat.exists - name: Run kubeadm if admin.conf doesn't exist command: kubeadm init when: admin_conf.stat.exists == false - name: Create kubeadm join command shell: kubeadm token create --print-join-command register: results when: admin_conf.stat.exists == false - debug: var: results.stdout when: admin_conf.stat.exists == false - set_fact: token: "{{ results.stdout | regex_search(regexp, '\\2') | first }}" vars: regexp: '([^\s]+\s){4}([^\s]+)' when: admin_conf.stat.exists == false - debug: var: token when: admin_conf.stat.exists == false - set_fact: hash: "{{ results.stdout | regex_search(regexp, '\\2') | first }}" vars: regexp: '([^\s]+\s){6}([^\s]+)' when: admin_conf.stat.exists == false - debug: var: hash when: admin_conf.stat.exists == false - name: Install flannel networking for RPi shell: curl -sSL https://rawgit.com/coreos/flannel/v0.10.0/Documentation/kube-flannel.yml | sed "s/amd64/arm/g" | kubectl --kubeconfig=/etc/kubernetes/admin.conf create -f - when: - ansible_lsb.id == "Raspbian" - admin_conf.stat.exists == false - name: Install flannel networking for x86_64 shell: curl -sSL https://rawgit.com/coreos/flannel/v0.10.0/Documentation/kube-flannel.yml | kubectl --kubeconfig=/etc/kubernetes/admin.conf create -f - when: - ansible_distribution == "Debian" - ansible_architecture == "x86_64" - admin_conf.stat.exists == false - debug: msg: "kubeadm has probably already been run." when: admin_conf.stat.exists == true