--- - name: Initialize Kubernetes Control Plane command: kubeadm init --pod-network-cidr=10.244.0.0/16 args: creates: /etc/kubernetes/admin.conf register: kubeadm_init - name: Create .kube directory file: path: /home/{{ ansible_user }}/.kube state: directory owner: "{{ ansible_user }}" group: "{{ ansible_user }}" mode: 0755 - name: Copy admin.conf to user's kube config copy: src: /etc/kubernetes/admin.conf dest: /home/{{ ansible_user }}/.kube/config remote_src: yes owner: "{{ ansible_user }}" group: "{{ ansible_user }}" - name: Install Flannel Pod Network command: kubectl apply -f https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml become: yes become_user: "{{ ansible_user }}" when: kubeadm_init.changed - name: Get join command command: kubeadm token create --print-join-command register: join_command_raw - name: Add dummy host with variable add_host: name: "K8S_TOKEN_HOLDER" join_command: "{{ join_command_raw.stdout_lines[0] }}"