I’ve spent a decent amount of time fighting k8s at work. The GCP k8s which abstracts away a bunch of things, but still it can be a bit crazy.
Docker compose is really great but only works on a single machine. Also docker compose makes rolling updates a PITA.
What I really want is something like Cloud Run but locally tunable.
Google Cloud Run is essentially: here is a docker image, when you get a http request, spin up a container, when there are no requests for 10 minutes, spin it down. If there are more than 80 req/s, replicate to handle the spike.
Now I want to say, here’s a bunch of Ubuntu machines with X cores, Y RAM and Y SSD storage. Go run these images on it and auto scale it up and down.
I know k8s was meant to solve this problem but the layers of abstraction on top of abstractions are insane.
I just want to specify my compute/storage pool of machines, my docker images, how they should connect to each other and scale up/down. Boom! It just works.
Docker compose is really great but only works on a single machine. Also docker compose makes rolling updates a PITA.
What I really want is something like Cloud Run but locally tunable.
Google Cloud Run is essentially: here is a docker image, when you get a http request, spin up a container, when there are no requests for 10 minutes, spin it down. If there are more than 80 req/s, replicate to handle the spike.
Now I want to say, here’s a bunch of Ubuntu machines with X cores, Y RAM and Y SSD storage. Go run these images on it and auto scale it up and down.
I know k8s was meant to solve this problem but the layers of abstraction on top of abstractions are insane.
I just want to specify my compute/storage pool of machines, my docker images, how they should connect to each other and scale up/down. Boom! It just works.
Is there something that does this?