- name: Initialize Kubernetes Control Plane hosts: k8s_control_plane become: true vars: pod_network_cidr: "192.168.0.0/16" apiserver_advertise_address: "10.50.3.21" cri_socket: "unix:///run/containerd/containerd.sock" kubeconfig_src: "/etc/kubernetes/admin.conf" kubeconfig_dest: "/home/{{ ansible_user }}/.kube/config" ## Crea la directory .kube nella home dell'utente tasks: - name: Ensure .kube directory exists file: path: "/home/{{ ansible_user }}/.kube" state: directory owner: "{{ ansible_user }}" group: "{{ ansible_user }}" mode: '0755' ## Crea il cluster con i parametri indicati sopra - name: Run kubeadm init command: > kubeadm init --pod-network-cidr={{ pod_network_cidr }} --apiserver-advertise-address={{ apiserver_advertise_address }} --cri-socket {{ cri_socket }} args: creates: /etc/kubernetes/pki/ca.crt ## Copia la configurazione del cluster così da poter eseguire comandi kubectl dall'utente - name: Copy admin.conf to user's kube config copy: src: "{{ kubeconfig_src }}" dest: "{{ kubeconfig_dest }}" remote_src: true owner: "{{ ansible_user }}" group: "{{ ansible_user }}" mode: '0644'