Running Too Much Kubernetes
blog.fahhem.com
blog.fahhem.com
That's the advantage of a homelab environment - the whole monolith/microservice complexity & technical debt thing just doesn't matter in that context. Anything interesting is fair game.
One more more "Why" motivation to add: Portability. I can stick it on my desktop (minikube), my homelab cluster, or a DIY cloud cluster or CP. Feels a bit like docker in that sense - common lowest denominator to build against.
> If anyone knows of a CLI that would give me that level of information, please leave a comment.
k9s tool is much better. Takes a bit of getting used to since it has the whole ssh old school vibe but its 10x more useful that the official dash.
>prometheus/alertmanager: I don't have this setup
I've found Promtail daemonset connected to Loki/Grafana to be good. Especially if you stick ever deployment into it's own namespace, since you can then use that as label in Grafana/Loki. Had a couple issues that I could only track down once I had external logging.
https://grafana.com/docs/loki/latest/clients/promtail/instal...
Another neat trick is using Kompose to translate docker-compose to yaml. Helm works too, but I find them a little opaque.
> k9s tool is much better
I know about k9s, but it doesn't have a "Workloads" tab that shows both failing pods and their source (deployment, daemonset, etc).
> I've found Promtail daemonset connected to Loki/Grafana to be good.
I'll look into this, thanks!
> Another neat trick is using Kompose to translate docker-compose to yaml. Helm works too, but I find them a little opaque.
I didn't mention how I wrote/got all the services' yaml, but it was a combination of kompose (and one in instance an online tool that converted a 'docker run' command I had hand-crafted a while ago to docker-compose, to chain into Kompose), chatgpt for the basic ones, and helmCharts via kustomize.
But what I really wanted to do was to spin up Kubernetes and learn about microservices in some way. The techie guys I polled said I wouldn't need k8s at all for my use case and I should scrap trying to do k8s because it wouldn't do me any good. I'm still sort of miffed at that; I would've rather learned some Kubernetes in the first place rather than just become a petty sysadmin again, so a replacement project that actually did make use of k8s would've been helpful.
Anyway I chose to double down on my chosen career in the education industry, so I'm letting my sysadmin/DevOps skills lie fallow until retirement.
I’ve had success with MetalLB to dynamically announce a single IP for the ingress controller but that feels a bit overkill for a simple lab setup.
For my clusters, they're all single-node and therefore not fault-tolerant clusters, so I don't worry about graceful fault tolerance. I just use nginx-ingress which opens a port on the node (via iptables, so don't expect `lsof` to help!). Then my router port-forwards so my home IP:80 eventually hits my NUC
Now, would I want to deal with those technologies all day? Not really. I also like diesel electric locomotives, but I don't wanna run a fleet of them or run through their maintenance sheets.