Many Kubernetes clusters support multiple types of online and offline workloads at the same time. Due to the traffic fluctuations of online workloads and the uncertainty in the time required for completing offline workloads, resource demands vary with time. For example, many enterprises perform dense computing on weekends and during the middle and end of each month. During these periods, the demands on computing resources increase sharply.
Currently, a Kubernetes cluster often uses an autoscaler to scale out temporary nodes until all pods are scheduled. It takes about 2 minutes to deploy a temporary node. After the pods are run, the temporary nodes are released automatically. In this scale-out method, a pod usually needs to wait more than 2 minutes before it can be scheduled.
A virtual node allows a Kubernetes cluster to cope with burst resource demands without changing the number of nodes in the cluster, which minimizes the O&M costs.
A virtual node offers nearly unlimited computing resources to a Kubernetes cluster and avoids resource waste caused by idle nodes. It allows a Kubernetes cluster to easily handle the fluctuations in resource demands.
For more information about how to deploy a virtual node in a Kubernetes cluster, see Virtual node best practice 2 of Container Service for Kubernetes: Jobs plus Virtual nodes.