Virtual Scheduler
By default, vCluster reuses the host cluster scheduler to schedule workloads. This saves computing resources, but also has some limitations:
- Labeling nodes inside the virtual cluster has no effect on scheduling, unless enabling real node syncing with
syncBackChanges
enabled. - Draining or tainting nodes inside the virtual cluster has no effect on scheduling.
- 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.
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.
virtualScheduler
required object proenabled
required boolean pro
Enabled defines if this option should be enabled.
enabled
required boolean pro