I’m using containers for quite a while now and see to it that everything I do is somehow containerised. Actually to excess how people told me. Once you ran an arm container, in another x86 container that has been spawned within a CI Pipeline container that runs on a VM on some machine you’ve never seen before, there’s no going back. But I digress.
Containers for everything.
Even this site was build with a ruby docker image and gets served with a small nginx-alpine container. And up until a week ago was served on two-node Docker Swarm Stack.
A while back I read Docker Swarm looses it’s support (or lost it already). Or so I thought until researching for this post. —> It’s not dead
But aside of that it was too much of a hassle to take care of things like Letsencrypt certificates, and managing adding/removing stuff to and from my Traefik Loadbalancer — and don’t get me started about Volumes.
Kubernetes it is
There’s a couple more things that I wanted to achieve with this thing. One being that Kubernetes is seemingly everywhere and wherever I look I see things done either for or with it. Up until the end of 2020 I was avoiding K8s for the simple reason I could not imagine why I would ever consider such a demanding thing to configure and maintain. Writing elaborate YAML files for everything, painful and demanding setup or actually quite expensive hosted offers.
So after watching a few Youtube Videos, reading up on a few Tutorials and collecting my requirements for once I dug into it on my own.
Setting up your own Kubernetes Stack with things I kind of do not unterstand what they’re there for and having all those dependencies is weird. For Docker it was usually a thing of adding an apt repository, apt-get install it and you’re good to go. I love simple things, I loose interest in any piece of Software that is not moving on the spot. But hey, there was hope for me after all. It’s called K3s and it does just this. One (piped) command and it there’s your K3s server. Small variant of the same with a token run on another machine and BAM there’s your second node.
And thats where my actual learning curve started. And boy was it a pain. Kubernetes was different for me. It still feels weird. Things I did in the past, that were easy, are now strange, a lot of work and I get itchy. On the other hand things that were “hard” to do in the past, or were a lot of work are now surprisingly easy.
I’m trying to write some things up here, just for safe-keeping. Maybe I get lucky when I eventually break it (Spoiler: again) in the future and will be happy to stumble over by own writeup.
So for the next post(s) I think I write up some more about my actual plan and how it came together.