VM Runtime on Google Distributed Cloud limits

This page provides basic scaling information for VMs running on Google Distributed Cloud. The information provided doesn't indicate hard limits or guaranteed thresholds for the product or your installation. The information is intended to help you determine whether VM Runtime on Google Distributed Cloud can meet your computing requirements.

For information about quotas, limits, and scaling for Google Distributed Cloud, see Quotas and limits.

Maximum VM scaling

We have determined through extensive testing that you can run reliably as many as 500 VMs concurrently on an GKE cluster with 50 nodes.

Resource usage

To scale up VM deployments, make sure there are enough CPU, memory, and storage resources in the cluster for both VMs and the control plane components. For standard resource requirements for cluster node machines, see Cluster node machine prerequisites.

Note the following VM Runtime on Google Distributed Cloud resource usage for our maximum VM scaling configuration:

  • Total CPU share used by all the components in the vm-system namespace is approximately 1.3 at the peak usage.
  • Total memory consumed by all the components in the vm-system namespace is approximately 10 GiB.

Known resource issue

Currently, when the guest agent is enabled, each VM registers a separate watcher to the API server. Therefore, the number of registered watchers in kube-apiserver increases linearly with the number of the VMs. Depending on the workloads you run, you may encounter issues related to kube-apiserver as the number of VMs increases. If you're affected by this issue, you can configure the kube-apiserver or disable the guest agent if you aren't using it.