first_commit
This commit is contained in:
113
ansible/k8s-install-deps.yaml
Normal file
113
ansible/k8s-install-deps.yaml
Normal file
@ -0,0 +1,113 @@
|
||||
- name: Install Kubernetes packages
|
||||
hosts: all
|
||||
become: true
|
||||
|
||||
tasks:
|
||||
- name: Ensure apt cache is updated
|
||||
apt:
|
||||
update_cache: yes
|
||||
cache_valid_time: 3600
|
||||
|
||||
- name: Install required packages
|
||||
apt:
|
||||
name:
|
||||
- apt-transport-https
|
||||
- ca-certificates
|
||||
- curl
|
||||
- gpg
|
||||
- containerd
|
||||
state: present
|
||||
|
||||
## Questo non è nella documentazione! bisogna generare il file di configurazione di containerd
|
||||
## ed scriverlo nella directory apposita, altrimenti usa un suo default che non va bene
|
||||
|
||||
- name: Ensure containerd config directory exists
|
||||
file:
|
||||
path: /etc/containerd
|
||||
state: directory
|
||||
mode: '0755'
|
||||
|
||||
- name: Generate default containerd config if missing
|
||||
command: containerd config default
|
||||
register: containerd_config
|
||||
when: not lookup('file', '/etc/containerd/config.toml', errors='ignore')
|
||||
changed_when: false
|
||||
|
||||
- name: Write default containerd config
|
||||
copy:
|
||||
content: "{{ containerd_config.stdout }}"
|
||||
dest: /etc/containerd/config.toml
|
||||
when: containerd_config is defined
|
||||
|
||||
- name: Set SystemdCgroup = true in containerd config
|
||||
replace:
|
||||
path: /etc/containerd/config.toml
|
||||
regexp: '^(\s*SystemdCgroup\s*=\s*)false'
|
||||
replace: '\1true'
|
||||
|
||||
- name: Restart containerd
|
||||
systemd:
|
||||
name: containerd
|
||||
state: restarted
|
||||
enabled: yes
|
||||
|
||||
## Importantissimo per la gestione interna della network
|
||||
|
||||
- name: Enable IPv4 forwarding at runtime
|
||||
sysctl:
|
||||
name: net.ipv4.ip_forward
|
||||
value: '1'
|
||||
state: present
|
||||
reload: yes
|
||||
sysctl_set: yes
|
||||
|
||||
## Installa kubectl, kubeadm e kubelet dal repo ufficiale kubernetes
|
||||
|
||||
- name: Create /etc/apt/keyrings directory
|
||||
file:
|
||||
path: /etc/apt/keyrings
|
||||
state: directory
|
||||
mode: '0755'
|
||||
|
||||
- name: Download and save the Kubernetes APT key
|
||||
ansible.builtin.shell: |
|
||||
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.33/deb/Release.key | gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
|
||||
args:
|
||||
creates: /etc/apt/keyrings/kubernetes-apt-keyring.gpg
|
||||
|
||||
- name: Add Kubernetes APT repository
|
||||
copy:
|
||||
dest: /etc/apt/sources.list.d/kubernetes.list
|
||||
content: |
|
||||
deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.33/deb/ /
|
||||
|
||||
- name: Update apt cache after adding Kubernetes repo
|
||||
apt:
|
||||
update_cache: yes
|
||||
|
||||
- name: Install Kubernetes components
|
||||
apt:
|
||||
name:
|
||||
- kubelet
|
||||
- kubeadm
|
||||
- kubectl
|
||||
state: present
|
||||
|
||||
## Ferma i pacchetti ad una specifica versione
|
||||
|
||||
- name: Hold Kubernetes packages
|
||||
ansible.builtin.shell: apt-mark hold kubelet kubeadm kubectl
|
||||
|
||||
- name: Enable and start containerd
|
||||
systemd:
|
||||
name: containerd
|
||||
enabled: true
|
||||
state: started
|
||||
|
||||
## Abilita il servizio di kubelet
|
||||
|
||||
- name: Enable and start kubelet
|
||||
systemd:
|
||||
name: kubelet
|
||||
enabled: true
|
||||
state: started
|
Reference in New Issue
Block a user