For what it's worth, I built one like this on an old Linux laptop. I then moved my home lighting controller onto it as a test. Some months later my house lights stopped working, and I had to spend a few hours applying snippets semi-randomly from Stack Overflow. It could be the problem was due to expired Kubernetes certificates, or it could be something else.<p>Either way, my conclusion was that Kubernetes is really meant for more scale and attention than I like to give my home infrastructure, so although I enjoyed the experiment, I would encourage people not to run important services on something like this.
What sort of fun projects/experiments do people do with a super low powered k8s cluster locally?<p>I'm kind of in this weird position where I understand the benefits and use of k8s, but I:<p>a) Can't think of any cutesy distributed systems/microservices type thing that I could or would want to run on a low power machine locally (lack of processing power or ISP getting pissed off @ massive amount of traffic if you're e.g. scraping a ton of data and doing stream processing on it in your little cluster)<p>b) Don't really understand the point in investing time in it, as it feels like one of those things you learn on the job as it comes up. And for a lot of people (the majority, probably?) it'll probably never even come up unless they just are hunting for new tech to introduce at work regardless of if the business actually needs it. Which IMO, most businesses don't even have a compelling reason to switch from the old 3 tier monolith architecture.
For me there's very good reason for running home k8s cluster: dogfood factor. I run my smarthome and home surveillance (zoneminder) stuff, along with UniFi controller on k8s, and I must say that helps me a great deal with SRE part of my job. I do learn some important things before I encounter them in the work setting, such as: <a href="https://twitter.com/ivan4th/status/1236481744477532171" rel="nofollow">https://twitter.com/ivan4th/status/1236481744477532171</a>
An HP or Dell USFF PC would be a great alternative. Something like an OptiPlex 7010 or 800 G2. You can pick them up for $50 used, if you need more power you can add as large of an SSD as you want plus 16GB of RAM, they're small and quiet and can run Linux.
I used to run minikube on my MBA till last year (Was running Arch). It was very underpowered to run a cluster, as I guess they'll soon find out. This was a MBA 2015, so the OP's 2012 MBA is even less powerful.<p>The fans would start whirring, and the device was immediately unusable for anything else. I switched to using microk8s, which is slightly better, but still makes the device crawls. The MBA also only has 4GB RAM, which is very low on what you might count as k8s-ready.
There are things I don't understand with Kubernetes and the "spin up containers as needed". How do you spin up different databases ? It won't sync, unless your code takes that into account... Say, I have a simple WP site running with a web, a php and a db container... What's the schema to give 2 or 3 more database container and still have visitors see the same content ? (and the databases being consistent) Set up replication ?
I wonder what it would take to do something like this with kind[0] so you can have something resembling an actual multi-node cluster, if it's even possible.<p>I've used kind successfully on WSL for experimenting locally, and even found a script to open up ports on the firewall and set up a port "forwarding" of sorts using the netsh utility, which let me access a program bound to a port within WSL. Though I suspect additional hurdles considering however the networking for kind works.<p>[0] <a href="https://kind.sigs.k8s.io/" rel="nofollow">https://kind.sigs.k8s.io/</a>
If you want to use your own domain you can turn Cloudflare into a DDNS by frequently checking your public-IP for changes and update the records on Cloudflare using their API if it change (this is free, except the domain cost):
<a href="https://github.com/punnerud/cloudflare-ddns" rel="nofollow">https://github.com/punnerud/cloudflare-ddns</a>
Initially, I tried doing this with a 2010 Mac Mini (which claims to support VMX), but couldn't get Minikube running on it...<p>For the past two weeks though, I haven't had any issues with this setup on the Macbook Air!
Works just as well on any sufficiently powerful old laptop. I find that any damaged laptop or one with a battery that doesn't hold a charge converts nicely into a home or lab server.
A better thing to do with an old MacBook is using it for an Arcade cabinet.<p>I wish the person who wrote this article described what he did next with this K8s cluster. Probably nothing.
macbook air is a good computer. put it in a drawer. it might still come in handy one day.<p>shitting it up and wearing it down with kubernetes is a guaranteed wrong move.