Very much work in progress, but release early and release often . . .
The goal of this project is to learn Kubernetes and at the end of the day, to have a high availability mini cluster for SoHo tasks. So the result is not so much directed to a 'Home Lab' but more in the direction of 'Self Hosting', a blurry line to be sure. But you don't really need HA for a home lab.
Let me get one thing out if the way first: I am only providing this information as a guide, use it at your own risk. I am not responsible for anything that happens to you, your property and especially your data.
IMPORTANT!
I am assuming that anyone attempting this kind of cluster, has a good level of technical knowledge, so I'll only be detailing information relevant to the pitfalls I encountered getting the cluster up and running.
I am using Infrastructure as Code where ever possible to have a repeatable configuration.
I also use software from the Cloud Native Computing Foundation (CNCF) projects where ever possible. Check out the CNCF Cloud Native Interactive Landscape to see what is available.
With the various pieces of the hardware in place and bootable, time to get the server up and running and start installing the infrastructure.
- Virtual Machines - Proxmox VE
- Cluster configuration - Gitea Server
- Infrastructure as code (OpenTofu) - Creating the virtual machines for the Kubernetes nodes
- Configuring a Talos based Kubernetes cluster
- Bootstrapping the cluster using Flux CD
- Cluster certificate management with Cert-Manager
- Setting up the network with cilium
- Adding a cluster hosted DNS server
- Attaching storage
- Database management using database operators
- Setting up the first applications
Inspiration and references:
All of these creators are an absolute wealth of knowledge and gave me a ton of inspiration to do this project.
- Tim Stewart (YouTube: Techno Tim)
- Jeff Geerling
- Marcel Dempers (That DevOps Guy)
- Victor Farcic (DevOps Toolkit)
- Patrick Kennedy (ServeTheHome)
- David McKone (Tech Tutorials - David McKone)
I wholeheartedly und unreservedly, recommend you subscribe to them all!
Now you are self-hosting, you are the system administrator, so don't forget to back up your data!
Proxmox allows you to configure snapshots and automated backups, configure and use them.
Don't forget the 3-2-1 rule - Have a minimum of 3 backups, 2 local on separate devices and 1 offsite!