--- # tasks file for k8s_control - name: initialise kubernetes cluster [kubeadm init] ansible.builtin.shell: "kubeadm init --control-plane-endpoint='{{ hostvars[groups['Master'][0]].ansible_host }}:6443' --ignore-preflight-errors=all" register: kubeadm_init_result - name: record kubeadm init stdout ansible.builtin.copy: content: "{{ kubeadm_init_result.stdout }}" dest: "/etc/kubernetes/kubeadm-init.stdout" - name: record kubeadm init stderr ansible.builtin.copy: content: "{{ kubeadm_init_result.stderr }}" dest: "/etc/kubernetes/kubeadm-init.stderr" - name: create .kube config folder for the ansible user ansible.builtin.file: path: "/home/{{ ansible_user }}/.kube" state: directory owner: "{{ ansible_user }}" group: "{{ ansible_user }}" mode: 0755 - name: copy admin.conf to .kube folder for the ansible user ansible.builtin.copy: src: /etc/kubernetes/admin.conf dest: "/home/{{ ansible_user }}/.kube/config" owner: "{{ ansible_user }}" remote_src: yes mode: 0644 - name: Set the KUBECONFIG environment variable for the ansible user ansible.builtin.shell: "export KUBECONFIG=/home/{{ ansible_user }}/.kube/config" environment: KUBECONFIG: "/home/{{ ansible_user }}/.kube/config" - name: install Pod network ansible.builtin.shell: cmd: kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml - name: Wait for controlplane to be ready ansible.builtin.pause: minutes: 3