The complexity is the purpose: these types of projects typically function more as a way to learn how to approach problems with kubernetes, rather than learning how to deploy pi-hole.
As someone who does a decent amount of devops by day, this type of project is interesting to me as it allows me to quickly see how things are set up, and if I can learn anything from it.
I do understand your point. Like the other person said I did learn a bunch of stuff while deploying this. Also, I plan to run a bunch of services for my homelab and Kubernetes provides a bunch of features out of the box like rolling updates, scaling, etc which take a lot of hassle out of devops.
I deployed this using https://k3s.io/ which takes 5 min to set up. Moreover, I use Kubernetes in my job everyday so the complexity wasn't there for me.
It's like teenage sex. You think everyone else is doing it, so you want to do it too.
Funny, I had a junior engineer stand up a notification service. They used terraform and Lambda, had it all scripted. It was cool. Took him all day to do it.
Me... wrote a one line bash script that ran on a cron. Done in a minute.
I’m of the opinion that lambda-as-in-serverless is an evil. I’m also willing to be proven wrong, and might be in time; I wasn’t fond of certain Docker use cases early on either but now containers are The Good.
> I’m of the opinion that lambda-as-in-serverless is an evil.
Are there any other serverless solutions that you'd recommend?
Maybe a more open cloud function solution that could also be self-hosted, should the need arise?
As far as I know, OpenFaaS might serve that niche for some, though of course there will be no cloud solutions as large as Lambda available: https://github.com/openfaas/faas
Because architecting your home network's gateway/router to delegate half of what it does to a separate box with proper isolation and never failing DNS lookups is non-trivial.
But mostly, it's because people who complain about k8s have never spent longer than a week setting up their container constellation properly on docker.
I think (hope) most k8s installations are there to run multiple services in a consistent fashion. There is a lot of infrastructure involved, but once you have it the marginal costs of a new service are notoceably lower.
As someone who does a decent amount of devops by day, this type of project is interesting to me as it allows me to quickly see how things are set up, and if I can learn anything from it.