Provided that at the moment I have no access to AWS / GCP / other cloud services, and the company I work for isn't planning to adopt any external cloud-based hosting solution, I have to run a given number of docker containers in a local HW infrastructure.
I've been suggested to create a single linux VM for each docker stack, so that I'll end having more or less a Vm per single docker-compose file. Of course, I'll have to installa docker-ce on every VM linux machine.
Despite the fact that having an infrastructure as the one depicted above let you to completely isolate each stack from the other - so that, for example, an issue on a single node will avoid to get a number of out-of-duty services, I'm not so sure a similar architecture is best pratice.
I mean, as far as I know - but I'm not a great expert on this topic, I'd had guessed that a more common sense solution would be a single virtual host running several containers, and adopt some other software layer (microk8, for example) to handle resources and pods.
I'd love to hear from your experience what's your opinion about.
I have one or two physical hosts running more than one Docker VM in them, although I don't advocate lots of VMs.
I soured on Docker-compose a long time ago because it has an all-or-nothing approach to container management and I find that disruptive. I played briefly with Puppet, but it was a bit of a pain to set up. So these days I use Ansible to manage both the container VMs and their containers.
Once you get to a certain number of containers - or want to be elastic, something like Kubernetes is preferable. It cuts down on needing to know which VM which container is in. However, last time I overhauled my container infrastructure, private container repos with internal (unsigned) keys was problematic. I think that's mostly cleared up now, but it hasn't been worth it to try again. One of the biggest remaining problems with Kubernetes is that it requires a certain per-VM infrastructure which is readily available on cloud hosts but I know of no "one-button" way of prepping into my local VMs.
Some people, when well-known sources tell them that fire will burn them, don't put their hands in the fire.
Some people, being skeptical, will put their hands in the fire, get burned, and learn not to put their hands in the fire.
And some people, believing that they know better than well-known sources, will claim it's a lie, put their hands in the fire, and continue to scream it's a lie even as their hands burn down to charred stumps.
A timing clock, fuse wire, high explosives and a tiny ad: