Live data from Hacker News

Domesticating Kubernetes

blog.quickbird.uk

81–90 of 100 posts

Re: Domesticating Kubernetes

#81

Earlier quoted context omitted.

Have you had any serious yet? If you are on the happy path does not really matter what you use.

Any serious what? I am running a mildly successful SaaS business on hosted kubernetes, yes.

Sorry, HN made me retry couple of times. Any serious troubles with Kubernetes. Have you had any of those?

Re: Domesticating Kubernetes

#82

Why would you do this for simple home apps? k8s is complete overkill. At home, there is little reason to drag in all that complexity to host a blog or whatever. Kubernetes drags in a tremendous amount of complexity, background knowledge, and strange constraints, even on small installations. I really do not see its benefit for small apps and projects. Are you hosting your blog? You don't need k8s. Are you running a sm…

I'll bite.

One thing I found in running my home lab was that I kept having to burn it to the ground & rebuild it regularly anyway. For example, dist-upgrade never really works: every time I try I just end up wasting a couple days wrestling with it and then giving up and rebuilding the machine from scratch. Even if I just assumed that I'd have to build from scratch every time, differing app and library versions meant that I couldn't count on a new build being a simple, clean install.

So going with the regular "run things as a daemon on a server" model wasn't actually saving me that much time.

Basically I could to do one of two things:

1. keep using purpose-configured machines and spend a bunch of time writing ansible scripts to automatically re-create them when everything goes pear-shaped and then re-write the scripts when a new version changes stuff.

2. container-ize all my tasks, and make everything else vanilla and effectively disposable. I have to spend some initial time to rewrite my stuff in container-speak, but that's a one-time cost.

Presented like that, option 2 looked like a better option. When a machine has a problem or needs to be rebuilt, I build it with the completely vanilla setup (ubuntu lts, conjure-up k8s) and push my k8s jobs and pods up to it. That's 2 hours instead of a day and a half. (Yes, in theory I could docker-ize everything and run docker-swarm, but it's a small step from there to k8s, and conjure-up makes installing k8s fairly straightforward.)

Frankly, I have a family now, and fucking with fiddly settings and library dependencies isn't fun anymore. I'd rather spend that time doing stuff. k8s lets me divorce my hobby work from the infrastructure, and I like that.

Re: Domesticating Kubernetes

#83
post #46
post #40

I've given up running my own k8s at home a couple of times. It does seem to be getting easier, but then upgrading and maintaining breaks me again. + the other stuff like running your own container registry. Then with new centos podman breaks everything that worked OK in docker. I hate this stuff, so many problems its worth ignoring the whole stack.

what do you end up using instead of k8s?

I've plugged it before, but Portainer (portainer.io) is what finally got me into running containers for apps. It presents a really nice interface for running individual containers or stacks including docker-compose files, and it extends the nerd knobs for doing things like custom networking or filesystem mounts. I paired it with Ouroboros for doing automated container upgrades in the background, and the result is that I have a solid set of container apps running at all times that I never have to touch.

Were I learning k8s for work, it wouldn't be a good solution, but for simple home apps that you want to fire and forget, it definitely beats doing a hand-made installation and periodically care-and-feeding them.

Re: Domesticating Kubernetes

#84

Earlier quoted context omitted.

Any serious what? I am running a mildly successful SaaS business on hosted kubernetes, yes.

Sorry, HN made me retry couple of times. Any serious troubles with Kubernetes. Have you had any of those?

No I have not. Going on 3 years now?

Re: Domesticating Kubernetes

#85

Why would you do this for simple home apps? k8s is complete overkill. At home, there is little reason to drag in all that complexity to host a blog or whatever. Kubernetes drags in a tremendous amount of complexity, background knowledge, and strange constraints, even on small installations. I really do not see its benefit for small apps and projects. Are you hosting your blog? You don't need k8s. Are you running a sm…

I'll second you. I full time admin our K8s infrastructure and clusters. It's a great solution for our production workloads and I've bootstrapped RancherOS/k3s a handful of times to look at using it at home but K8s is purpose built for cloud. I can get all the same benefits with significantly reduced complexity with Docker + Systemd at home.

what are some usecases where you need systemd alongside docker containers?

Re: Domesticating Kubernetes

#86

Earlier quoted context omitted.

I'll second you. I full time admin our K8s infrastructure and clusters. It's a great solution for our production workloads and I've bootstrapped RancherOS/k3s a handful of times to look at using it at home but K8s is purpose built for cloud. I can get all the same benefits with significantly reduced complexity with Docker + Systemd at home.

what are some usecases where you need systemd alongside docker containers?

systemd can restart your container if it crashes. It can also start it if you reboot your system.

Re: Domesticating Kubernetes

#87
I’ve spent a decent amount of time fighting k8s at work. The GCP k8s which abstracts away a bunch of things, but still it can be a bit crazy.

Docker compose is really great but only works on a single machine. Also docker compose makes rolling updates a PITA.

What I really want is something like Cloud Run but locally tunable.

Google Cloud Run is essentially: here is a docker image, when you get a http request, spin up a container, when there are no requests for 10 minutes, spin it down. If there are more than 80 req/s, replicate to handle the spike.

Now I want to say, here’s a bunch of Ubuntu machines with X cores, Y RAM and Y SSD storage. Go run these images on it and auto scale it up and down.

I know k8s was meant to solve this problem but the layers of abstraction on top of abstractions are insane.

I just want to specify my compute/storage pool of machines, my docker images, how they should connect to each other and scale up/down. Boom! It just works.

Is there something that does this?

Re: Domesticating Kubernetes

#88
post #82

Why would you do this for simple home apps? k8s is complete overkill. At home, there is little reason to drag in all that complexity to host a blog or whatever. Kubernetes drags in a tremendous amount of complexity, background knowledge, and strange constraints, even on small installations. I really do not see its benefit for small apps and projects. Are you hosting your blog? You don't need k8s. Are you running a sm…

I'll bite. One thing I found in running my home lab was that I kept having to burn it to the ground & rebuild it regularly anyway. For example, dist-upgrade never really works: every time I try I just end up wasting a couple days wrestling with it and then giving up and rebuilding the machine from scratch. Even if I just assumed that I'd have to build from scratch every time, differing app and library versions meant…

I think you could achieve something similar but by just using simple standalone containers that you start with Podman or Docker. Once you have the OS up and running, then all you need to do is push the configuration to the server (I just rsync systemd service files) and start the services. Persistent data is stored elsewhere anyway, so moving a service is just a matter of copying a directory over to another machine and ensuring that the permissions are correct.

k8s is probably great for many things, but as time goes on I really appreciate the ability to debug things effectively and by keeping my homelab setup as simple as possible I avoid the complexity of whatever advanced solution that is out there.

Re: Domesticating Kubernetes

#89

Earlier quoted context omitted.

Sorry, HN made me retry couple of times. Any serious troubles with Kubernetes. Have you had any of those?

No I have not. Going on 3 years now?

Great. So you do not have any experience with the worst-case scenario. That is exactly my point. I would like to hear your opinion once you fixed an outage that is caused by K8s.

Re: Domesticating Kubernetes

#90
Curios how the benchmark compares when adding SSD on RPI 4? https://jamesachambers.com/raspberry-pi-4-usb-boot-config-gu...

I don't think it beats anything, but I am sure IO improves fairly significantly.

One of the things I found to be a problem is that most container images found on different registries are built for x86_64. You would need to rebuild those containers yourself on the RPI.

Post reply on HN