Files
k8s/ansible/k8s-init.yaml
2025-06-29 16:46:20 +02:00

44 lines
1.3 KiB
YAML

- name: Initialize Kubernetes Control Plane
hosts: k8s_control_plane
become: true
vars:
## This is the default networkd of Calico
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'