This is a collection of Ansible playbooks to deploy a Kubernetes cluster as well as run various services. I'm currently running them in my homelab. This repository contains the following services:
- Altserver (iOS sideloading server)
- SearxNG (Search engine)
- Technitium (DNS server)
- Wireguard (VPN)
You can follow the wiki to get started from no OS to a fully functionnal cluster with services. If you already have a server running Linux you can just deploy the cluster.
First, clone this repository locally and edit the hosts.ini
file with the IPs of your infrastructure. Next, edit the
file K3s/vars.yml
to configure your Kuberbenetes cluster according to your environment. Then, run the following command to install all of Ansible's requirements
ansible-galaxy collection install -r requirements.yml
You might have to install netaddr
on your local machine as well.
Finally, deploy your cluster by running
ansible-playbook -k -K -e @global_vars.yml -e @K3s/vars.yml K3s/playbook-deploy.yml # Remove -k -K if no SSH password
This will create a fully functional cluster with MetalLB and kube-vip.
Simply run the following playbook to remove Kubernetes and your services from your infrastructure
ansible-playbook -k -K -e @global_vars.yml -e @K3s/vars.yml K3s/playbook-reset.yml
You can find the playbooks and documentation for each service in their respective folders.