Hacker News new | ask | show | jobs
by quickthrower2 1046 days ago
My guess is Kubernetes would be the way to go here? You can run k3s locally.
1 comments

Or kind.

And use Skaffold or Tilt to manage it all.

This setup makes Docker Compose look like a toy.

Developers should stop with this impedence mismatch of using Docker Compose when developing and K8s in prod.

Man, compose can be so much simpler for local dev though, you can easily bind local files and you don't need a fancy setup for local dev. We just switched from docker compose to k8s so that it was closer to prod, but I think if we had to do it again I'm not sure I'd bother.
With Skaffold, you can bind (or rather transparently sync) local files to a Pod.

I agree the initial setup is more difficult with a K8s local dev than with a Docker Compose local dev.

But the impedance mismatch makes using Docker Compose a bad idea when you deploy to a K8s cluster.

The secrets management is different. The way pods talk to each other is different. App-level configuration and updates are different. There is so much that diverges, that you end up with two independent systems. One for dev and one for prod. This is not good.

It's not about just running the containers. It's that applications are distributed with a docker compose file as the setup medium.
What do you mean by that? You use Docker Compose to distribute to production? Into what?
Here is netbox's compose file: https://github.com/netbox-community/netbox-docker/blob/relea... -- there is no way I am going to spend the time to translate that into whatever k8s wants. If it isn't broken don't fix it.
You could use Kompose https://kompose.io, just sayin :)
With 8.7k stars, plus the last commit was made 4 days ago and the last release was 3 weeks ago.

That's a pretty strong option!

okay, but that only allows you to deploy to a docker engine.

at best, you can deploy that app to a Docker Swarm. Docker Swarm is not reasonably comparable to K8s.

there are tools (and colleagues ! :) ) to transform docker compose files to K8s manifests.