software-infrastructure/cluster.yaml
2024-11-11 15:46:28 -05:00

34 lines
1011 B
YAML

---
# Playbook for deploying a Kubernetes cluster
- name: Prepare cluster environments
hosts: cluster_nodes
become: true
pre_tasks:
- name: Install kubernetes library
apt:
name: python3-kubernetes
state: present
- name: Enable IPv4 packet forwarding
lineinfile:
path: /etc/sysctl.conf
line: 'net.ipv4.ip_forward = 1'
state: present
- name: Enable IPv6 packet forwarding
lineinfile:
path: /etc/sysctl.conf
line: 'net.ipv6.conf.all.forwarding = 1'
state: present
- name: Enable br_netfilter kernel module
command: modprobe br_netfilter
- name: Persist br_netfilter kernel module
lineinfile:
path: /etc/modules-load.d/modules.conf
line: "br_netfilter"
- name: Reload sysctl configuration
command: sysctl --system
roles:
- role: geerlingguy.containerd
- role: geerlingguy.kubernetes
- role: geerlingguy.helm
when: kubernetes_role == 'control_plane'