#
What will we do?
You've got a few options to experiment with K8S; let's just list some out for posterity:
While the local tools are great for experimentation, you won't get quite the same experience running K8S on your laptop. The control plane
that manages your applications will be running on the same virtual machine (VM) as the applications themselves, and generally you won't run a K8S stack on a single machine.
Similarly, we can cross out the Big Cloud options because they are prohibitively expensive and, even taking their free tiers into account, it is trivially simple to make a mistake and get a nasty surprise in your bill at the end of the month. And, truth be told, it's overkill for a hobby project.
That leaves us with... 🥁 a self-hosted cluster! 🥳
We'll be setting up a simple, autoscaling Kubernetes cluster on Hetzner Cloud using K3S, which is a lightweight version of Kubernetes compared to kubeadm
, the traditional implementation.
#
Then what?
It's not enough to have a cluster, you need to do something with it, and that's where this gets interesting.
After spinning up the servers, we'll cover the following topics and - in future - more:
- Monitoring with Prometheus and Grafana
- Hosting a private Docker registry
- Setting up Nginx and LetsEncrypt for SSL
- Configuring unattended cluster upgrades
- Using Helm
- Deploying an application
- Adding CI with Github Actions