Posts
#3 [2025-11-24]
Have a nice time of the day#2 [2025-11-24]
Back to the Future
I got some inspiration after reading Reinventing Kubernetes in 2025: a post-mortem of my “simple” stack
(and you should too).
Here I would like to share my plans for the future of this project.
First, let’s recall how it was working so far.
- Hosted on GCP instance
- Services built and pushed to GCR
- “Provisioner” is a daemon process responsible for the latest version of each service running based on predefined configuration.
- Internal networking fully relies on Docker Mesh while External traffic is routed through Nginx
Moving Forward: Transition to Kubernetes
- Hosted on a DigitalOcean Droplet (2 CPU, 2 GB RAM)
- Images pushed to RepoFlow
- 10 GB of free storage!
- K8S deployed via K3S.
In essence, I’m replacing a bunch of Bash scripts with YAML configs. To my surprise, setting up the VM went incredibly smoothly.
Quite literally:
- Spin up a new VM with open 6443 port
- SSH & Run
curl -sfL https://get.k3s.io | sh - - Copy contents of
/etc/rancher/k3s/k3s.yamlto your local machine
Voilà, it simply works! 🤯
k create ns hello
k create deployment -n hello hello-world-dep --image=ollyw123/helloworld
I’ve already deployed all core components — blog, database, and vault. This setup allows me to write, save, and publish this very post.
Networking, certificate rotation, and volume provisioning work almost entirely out of the box.
Of course, there’s a trade-off: I’m gaining simplicity but losing transparency. I don’t fully understand how traefik forwards traffic, nor the details of how local-path-provisioner is implemented — but for now, as long as it works, that’s good enough 🙌
When I finally reached peace, I realized: It was never about escaping Kubernetes. It was about accepting that every abstraction eventually becomes it.
#1 [2025-11-24]
We are back1!!