83 lines
1.8 KiB
YAML
83 lines
1.8 KiB
YAML
---
|
|
# System preparation for Kubernetes
|
|
|
|
- name: Disable swap
|
|
ansible.builtin.command: swapoff -a
|
|
become: true
|
|
changed_when: false
|
|
when: disable_swap | default(true)
|
|
|
|
- name: Persist swap off by commenting out swap in fstab
|
|
become: true
|
|
ansible.builtin.replace:
|
|
path: /etc/fstab
|
|
regexp: '^(\s*)([^#\n]+\s+swap\s+.*)$'
|
|
replace: '#\2'
|
|
backup: true
|
|
when: disable_swap | default(true)
|
|
|
|
- name: Load required kernel modules
|
|
become: true
|
|
community.general.modprobe:
|
|
name: "{{ item }}"
|
|
state: present
|
|
loop:
|
|
- overlay
|
|
- br_netfilter
|
|
|
|
- name: Persist kernel modules on boot
|
|
become: true
|
|
ansible.builtin.copy:
|
|
dest: /etc/modules-load.d/k8s.conf
|
|
content: |
|
|
overlay
|
|
br_netfilter
|
|
mode: '0644'
|
|
|
|
- name: Configure required sysctl params for Kubernetes
|
|
become: true
|
|
ansible.builtin.copy:
|
|
dest: /etc/sysctl.d/k8s.conf
|
|
content: |
|
|
net.bridge.bridge-nf-call-iptables = 1
|
|
net.bridge.bridge-nf-call-ip6tables = 1
|
|
net.ipv4.ip_forward = 1
|
|
mode: '0644'
|
|
|
|
- name: Apply sysctl params without reboot
|
|
become: true
|
|
ansible.builtin.command: sysctl --system
|
|
changed_when: false
|
|
|
|
- name: Install required packages
|
|
become: true
|
|
ansible.builtin.dnf:
|
|
name:
|
|
- python3-libselinux
|
|
- dnf-plugins-core
|
|
- curl
|
|
- wget
|
|
- ca-certificates
|
|
state: present
|
|
|
|
- name: Set SELinux to permissive mode
|
|
become: true
|
|
ansible.posix.selinux:
|
|
policy: targeted
|
|
state: "{{ selinux_mode | default('permissive') }}"
|
|
|
|
- name: Stop and disable firewalld
|
|
become: true
|
|
ansible.builtin.systemd:
|
|
name: firewalld
|
|
state: stopped
|
|
enabled: false
|
|
when: not firewall_enabled | default(false)
|
|
|
|
- name: Update system packages
|
|
become: true
|
|
ansible.builtin.dnf:
|
|
name: "*"
|
|
state: latest
|
|
async: 300
|
|
poll: 10 |