85 lines
2.1 KiB
YAML
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 }}"
|