44 lines
1.3 KiB
YAML
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'
|