I'm trying to understand the specific use cases where we'd prefer to use container orchestration (Kubernetes) as opposed to VM orchestration (Nomad) in an unmanaged cloud setting (e.g., EC2)
It seems to me that clearly, if you're focused on batch jobs, you're working with single-purpose VMs that are started then destroyed after doing their specific bit of work, so setting up a VM image to provision them with everything they need would seem to me to introduce less overhead into the cluster, and it wouldn't make much sense to use Kubernetes for a case like this. The distinguishing properties of the cloud that makes it easy to find one or more VMs that match the required scaling seem to me to make it as elastic and malleable as a container-level orchestration.
Take for instance the main reason I think people would use Kubernetes: autoscaling. why does VM-level autoscaling, as provided by e.g. Nomad, not suffice? Specifically in the cloud setting, the ability to create (with Packer), scale (with Nomad), and delete VMs is as straightforward as the Kubernetes case. I totally understand that a Kubernetes solution heavily favours cases where we're running on bare metal, but in the cloud setting, there's not much difference between starting/running/deleting containers with Kubernetes vs. starting/running/deleting virtual machines with e.g. Nomad.
In what specific cases would you prefer to use Kubernetes in an unmanaged cloud setting, e.g., EC2?