--- - name: Check if Kubernetes has already been initialized. stat: path: /etc/kubernetes/admin.conf register: k8s_init_stat - block: - block: - name: Create kubeadm-config.yaml template: src: kubeadm-config.yaml.j2 dest: "/etc/kubernetes/kubeadm-kubelet-config.yaml" owner: root group: root mode: '0644' - name: Initialize Kubernetes control plane with kubeadm init command: > kubeadm init --config /etc/kubernetes/kubeadm-kubelet-config.yaml --upload-certs register: k8s_init when: hostvars[inventory_hostname].role_node == "control-first" - name: Ensure .kube directory exists. file: path: ~/.kube state: directory mode: 0755 - name: Symlink the kubectl admin.conf to ~/.kube/conf. file: src: /etc/kubernetes/admin.conf dest: ~/.kube/config state: link mode: 0644 when: not k8s_init_stat.stat.exists