Initial commit
This commit is contained in:
@@ -0,0 +1,87 @@
|
||||
- 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
|
||||
Reference in New Issue
Block a user