88 lines
2.3 KiB
YAML
88 lines
2.3 KiB
YAML
- name: Initialise Master and Worker Nodes
|
|
hosts: all
|
|
tasks:
|
|
- name: Enable IPv4 forwarding
|
|
ansible.posix.sysctl:
|
|
name: net.ipv4.ip_forward
|
|
value: 1
|
|
sysctl_set: true
|
|
|
|
- name: Enable Kernel Modules
|
|
community.general.modprobe:
|
|
name: "{{ item }}"
|
|
persistent: present
|
|
loop:
|
|
- br_netfilter
|
|
- dm-crypt
|
|
|
|
- name: Ensure /sys mount is set to shared for container runtimes
|
|
block:
|
|
- name: Remount /sys as shared immediately
|
|
ansible.builtin.command: mount --make-rshared {{ item }}
|
|
loop:
|
|
- /
|
|
- /sys
|
|
- /run
|
|
changed_when: false
|
|
|
|
- name: Create Alpine local.d script for permanent shared mount
|
|
ansible.builtin.copy:
|
|
dest: /etc/local.d/mount-shared.start
|
|
content: |
|
|
#!/bin/sh
|
|
mount --make-rshared /
|
|
mount --make-rshared /sys
|
|
mount --make-rshared /run
|
|
owner: root
|
|
group: root
|
|
mode: '0755'
|
|
|
|
- name: Ensure Alpine local service is enabled on boot
|
|
ansible.builtin.service:
|
|
name: local
|
|
enabled: true
|
|
runlevel: default
|
|
|
|
- name: Install tools
|
|
ansible.builtin.package:
|
|
name: "{{ item }}"
|
|
state: present
|
|
loop:
|
|
- htop
|
|
|
|
- name: Install kubectl, kubelet, kubeadm and containerd
|
|
ansible.builtin.package:
|
|
name: "{{ item }}"
|
|
state: present
|
|
loop:
|
|
- kubectl
|
|
- kubeadm
|
|
- kubelet
|
|
- containerd
|
|
- cni-plugins
|
|
- helm
|
|
- open-iscsi
|
|
|
|
- name: Start kubelet and containerd
|
|
ansible.builtin.service:
|
|
name: "{{ item }}"
|
|
enabled: true
|
|
state: started
|
|
loop:
|
|
- kubelet
|
|
- containerd
|
|
- iscsid
|
|
|
|
- name: Add /opt/cni/bin to containerd CNI binary directories
|
|
ansible.builtin.replace:
|
|
path: /etc/containerd/config.toml
|
|
regexp: "bin_dirs = \\['/usr/libexec/cni'\\]"
|
|
replace: "bin_dirs = ['/opt/cni/bin', '/usr/libexec/cni']"
|
|
notify: Restart containerd
|
|
|
|
handlers:
|
|
- name: Restart containerd
|
|
ansible.builtin.service:
|
|
name: containerd
|
|
state: restarted
|