From 3e51c6745350aea526f8e1a1facbffa532147db8 Mon Sep 17 00:00:00 2001 From: eric o meehan Date: Tue, 24 Sep 2024 10:00:07 -0400 Subject: [PATCH] v0.0.18 --- .gitmodules | 3 ++ cluster-host.yml | 55 ++++++++++++++++++++++++++++++++++++ kraken-bot.yaml | 2 +- roles/ericomeehan.kraken-bot | 1 + 4 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 cluster-host.yml create mode 160000 roles/ericomeehan.kraken-bot diff --git a/.gitmodules b/.gitmodules index 1724919..fb10b10 100644 --- a/.gitmodules +++ b/.gitmodules @@ -13,3 +13,6 @@ [submodule "roles/ericomeehan.nvidia_driver"] path = roles/ericomeehan.nvidia_driver url = https://git.eom.dev/ansible-role-nvidia-driver +[submodule "roles/ericomeehan.kraken-bot"] + path = roles/ericomeehan.kraken-bot + url = https://git.eom.dev/ansible-role-kraken-bot diff --git a/cluster-host.yml b/cluster-host.yml new file mode 100644 index 0000000..2c50223 --- /dev/null +++ b/cluster-host.yml @@ -0,0 +1,55 @@ +--- +# Playbook for deploying a Kubernetes cluster on QEMU +- name: Prepare virtualization environment + hosts: alpha-worker-0 + become: true + tasks: + - name: Install QEMU + apt: + state: present + name: + - qemu-system + - libvirt-daemon-system + - name: Create network bridge for cluster + - name: Create control plane + - name: Create workers + - name: Start cluster + +- name: Initialize cluster nodes + hosts: clusters + become: true + roles: + - role: ericomeehan.debian + - role: ericomeehan.ericomeehan + +- name: Install Kubernetes on cluster nodes + hosts: #TODO: get cluster nodes dynamically + become: true + pre_tasks: + - name: Update sysctl configuration to enable IPv4 packet forwarding + lineinfile: + path: /etc/sysctl.conf + line: 'net.ipv4.ip_forward = 1' + state: present + - name: Update sysctl configuration to enable IPv6 packet forwarding + lineinfile: + path: /etc/sysctl.conf + line: 'net.ipv6.conf.all.forwarding = 1' + state: present + - name: Reload sysctl configuration + command: sysctl --system + - name: Enable br_netfilter kernel module + command: modprobe br_netfilter + - name: Add the module to a configuration file for persistence + lineinfile: + path: /etc/modules-load.d/modules.conf + line: "br_netfilter" + - name: Install kubernetes library + apt: + name: python3-kubernetes + state: present + roles: + - role: geerlingguy.containerd + - role: geerlingguy.kubernetes + - role: geerlingguy.helm + when: kubernetes_role == 'control_plane' diff --git a/kraken-bot.yaml b/kraken-bot.yaml index 9d9a193..49470e2 100644 --- a/kraken-bot.yaml +++ b/kraken-bot.yaml @@ -4,4 +4,4 @@ hosts: alpha-control-plane become: true roles: - - role: ericomeehan.pykraken + - role: ericomeehan.kraken-bot diff --git a/roles/ericomeehan.kraken-bot b/roles/ericomeehan.kraken-bot new file mode 160000 index 0000000..45c0352 --- /dev/null +++ b/roles/ericomeehan.kraken-bot @@ -0,0 +1 @@ +Subproject commit 45c0352dde33deab8c7a1a62f0d289014c617154