Avoiding Kubernetes by chaining deploy.sh, Docker Compose, Tailscale, Ansible, and a custom Docker API shim produces Kubernetes anyway.
Key Takeaways
The canonical escape route – deploy.sh – grows to cover rolling updates, rollbacks, multi-server parameterization, and firewall rules before anyone notices.
Docker Compose solves config format standardization but leaves deployment, scaling, and rollbacks to you; the gap fills itself with more shell.
Tailscale solves the overlay network and service discovery problem, but undocumented sysctl edits and iptables rules still live in one person’s head.
Ansible converts the VM to immutable, version-controlled infrastructure – which is exactly what Kubernetes node management does.
Mounting the Docker socket for programmatic container spawning is a known privilege-escalation vector; the fix is a bespoke API shim, i.e. a kubelet.
Hacker News Comment Review
Commenters split on the core claim: many agree the accidental-Kubernetes pattern is real, but several argue the result is an orchestrator you understand end-to-end, which has distinct operational advantages over a black-box K8s cluster.
A persistent counter-thread holds that Kubernetes is not inevitable – Docker Swarm, Kamal, and single-node Compose cover the vast majority of real workloads, and K8s is only well-suited to dynamically scaling SaaS at cloud scale.
Even K8s adopters note the abstraction leaks: you still end up with a deploy.sh that seds in the image tag, then Helm, then Helm values overrides – the configuration complexity shifts upward rather than disappearing.
Notable Comments
@drdaeman: “They have built an orchestrator, not Kubernetes” – knowing every bolt of your own system is a real operational advantage, especially when debugging at 2am.
@et1337: K8s adoption leads immediately to Helm, then Helm values layering – “my dear friend you have built a Helm.”
@bionsystem: Pushback with receipts – a 10k-LoC Ansible repo that scales nodes from one inventory line and deploys everything from one command, no K8s required.