Let's say you have two images: web and db. Web containers ask for high cpu, but small disk. DB requires big mem and disk.
With GKE, you either have different instance types for different container sizes; or you launch the BIG&TALL VMs for all.
The same story applies to public/private network as well. Point is that in GKE, there are two layers to manage: VM and Containers. In Hyper, the container is the infra.
That's a terrible argument considering Hyper gives you no fine-grained control over instance types. You just get a linearly-increasing allocation of CPU cores and RAM.