zkt26/z2/k8s_manual/roles/common/tasks/main.yml
2026-04-22 18:58:52 +02:00

85 lines
2.1 KiB
YAML

---
- name: Disable SWAP
shell: |
swapoff -a
sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
- name: Mask swap.target to prevent swap after reboot
systemd:
name: swap.target
masked: yes
- name: Load kernel modules
modprobe:
name: "{{ item }}"
state: present
loop: "{{ k8s_kernel_modules }}"
- name: Persist kernel modules across reboots
copy:
dest: /etc/modules-load.d/k8s.conf
content: "{% for mod in k8s_kernel_modules %}{{ mod }}\n{% endfor %}"
- name: Set sysctl parameters
sysctl:
name: "{{ item.name }}"
value: "{{ item.value }}"
state: present
sysctl_file: /etc/sysctl.d/k8s.conf
reload: yes
loop: "{{ k8s_sysctl_params }}"
- name: Install containerd & utils
apt:
name: "{{ k8s_required_packages }}"
state: present
update_cache: yes
- name: Check if containerd is already configured
stat:
path: "{{ containerd_config_path }}"
register: containerd_config
- name: Generate default containerd config
shell: |
mkdir -p /etc/containerd
containerd config default > {{ containerd_config_path }}
when: not containerd_config.stat.exists
notify: Restart Containerd
- name: Enable systemdCgroup in containerd
replace:
path: "{{ containerd_config_path }}"
regexp: "SystemdCgroup = false"
replace: "SystemdCgroup = true"
notify: Restart Containerd
- name: Download K8s GPG key
get_url:
url: "{{ k8s_gpg_key_url }}"
dest: "{{ k8s_gpg_keyring | regex_replace('.gpg$', '.asc') }}"
mode: "0644"
- name: Dearmor K8s GPG key
shell: "gpg --dearmor -o {{ k8s_gpg_keyring }} {{ k8s_gpg_keyring | regex_replace('.gpg$', '.asc') }}"
args:
creates: "{{ k8s_gpg_keyring }}"
- name: Add K8s repository
apt_repository:
repo: "{{ k8s_repo }}"
state: present
filename: kubernetes
- name: Install K8s tools
apt:
name: "{{ k8s_packages | map('regex_replace', '$', '=' + k8s_package_version) | list }}"
state: present
update_cache: yes
- name: Hold K8s packages at current version
dpkg_selections:
name: "{{ item }}"
selection: hold
loop: "{{ k8s_packages }}"