Skip to main content

Virtual Scheduler

By default, vCluster reuses the host cluster scheduler to schedule workloads. This saves computing resources, but also has some limitations:

  1. Labeling nodes inside the virtual cluster has no effect on scheduling, unless enabling real node syncing with syncBackChanges enabled.
  2. Draining or tainting nodes inside the virtual cluster has no effect on scheduling.
  3. You cannot use custom schedulers inside the virtual cluster.

Sometimes you want to label a node inside the virtual cluster to modify workload scheduling through features such as affinity or topology spreading. vCluster supports running a scheduler inside the virtual cluster instead of reusing the host cluster's scheduler. vCluster then only syncs pods that already have a node assigned to the host cluster. When you enable this feature, you can taint and label nodes inside the virtual cluster without actually modifying the host cluster nodes.


info

If the persistentvolumeclaims syncer is also enabled, relevant csistoragecapacity,csinode, and csidriver objects will be mirrored to the virtual cluster so the scheduler can make storage-aware scheduling decisions.

Config reference

virtualScheduler required object pro

VirtualScheduler defines if a scheduler should be used within the virtual cluster or the scheduling decision for workloads will be made by the host cluster.

enabled required boolean pro

Enabled defines if this option should be enabled.