2 minutes
Kubernetes Cluster
I’m running this server completely on Docker since 2017. With a Git commit, websites/apps get built and deployed automatically. Backups run with (borg) regularly to an off-site server. The reverse proxy (Caddyserver) handles everything at the foremost point for Web related traffic. It get’s Let’s Encrypt certificates and renews them automatically. The Reverse Proxy routes traffic to the corresponding Docker container.
To get to this point I had to create a deployment application, configure Caddy to each new website or application I created and configure DNS accordingly. Monitor the site (uptimerobot.com) and solving any down-time for each application. Mostly manually.
All this requires time, which I rather spend with my girlfriend, family and friends.
At work we use Kubernetes since more than a year and I always thought about running this website on Kubernetes as a platform. Combined with some useful components it could do most of the things I do manually, automatically, thus saving time.
Google Cloud, AWS or Azure (only to name a few) provide already a Kubernetes platform and they are great (I use Google Cloud for work). To run this and all related sites I need about 6-10 GiB of RAM. Having the Google Cloud Calculator at hand, for a setup of 2 nodes with that kind of power, even without load balancing or IPs it costs about 123.53€ a month (Location: Zurich), which is a reasonable price for what you would get and hard to beat, for business use. For running a private website it is expensive, since you could get a simple webhosting for 1-3€ a month.
This is where Hetzner Cloud comes into play. It has good prices for both personal (shared cpu) and business use. With an API available and some helpful components it could get a viable alternative to Google Cloud.
But it doesn’t come without a catch!!!!
You’ll have to go the hard way installing a Kubernetes Cluster and integrate things like Load Balancer, DNS or Ingress yourself. I’m up for the challenge, gaining more free time (I’m at least hopeful) afterwards and learning some new skills along the way.