Skip to main content

Sync

A virtual cluster does not have actual worker nodes or a network. Instead, the vCluster syncer component replicates the pods that are created within the virtual cluster to the host cluster. Subsequently, the host cluster schedules the pods, and the syncer keeps the virtual cluster pods and host cluster pods in sync.

By default, vCluster runs with a minimal set of RBAC permissions to allow execution in restricted environments. Certain resources require extra permissions to sync, which will automatically be given to the vCluster ServiceAccount if you enable the resource sync with the associated config value.

Sync from Virtual Cluser to Host Cluster

Enabled by Default

Disabled by Default

Config reference

sync required object pro

Sync describes how to sync resources from the virtual cluster to host cluster and back.

toHost required object pro

Configure resources to sync from the virtual cluster to the host cluster.

pods required object pro

Pods defines if pods created within the virtual cluster should get synced to the host cluster.

enabled required boolean pro

Enabled defines if pod syncing should be enabled.

translateImage required object pro

TranslateImage maps an image to another image that should be used instead. For example this can be used to rewrite a certain image that is used within the virtual cluster to be another image on the host cluster

enforceTolerations required string[] pro

EnforceTolerations will add the specified tolerations to all pods synced by the virtual cluster.

useSecretsForSATokens required boolean pro

UseSecretsForSATokens will use secrets to save the generated service account tokens by virtual cluster instead of using a pod annotation.

rewriteHosts required object pro

RewriteHosts is a special option needed to rewrite statefulset containers to allow the correct FQDN. virtual cluster will add a small container to each stateful set pod that will initially rewrite the /etc/hosts file to match the FQDN expected by the virtual cluster.

enabled required boolean pro

Enabled specifies if rewriting stateful set pods should be enabled.

initContainerImage required string pro

InitContainerImage is the image virtual cluster should use to rewrite this FQDN.

secrets required object pro

Secrets defines if secrets created within the virtual cluster should get synced to the host cluster.

enabled required boolean pro

Enabled defines if this option should be enabled.

all required boolean pro

All defines if all resources of that type should get synced or only the necessary ones that are needed.

configMaps required object pro

ConfigMaps defines if config maps created within the virtual cluster should get synced to the host cluster.

enabled required boolean pro

Enabled defines if this option should be enabled.

all required boolean pro

All defines if all resources of that type should get synced or only the necessary ones that are needed.

ingresses required object pro

Ingresses defines if ingresses created within the virtual cluster should get synced to the host cluster.

enabled required boolean pro

Enabled defines if this option should be enabled.

services required object pro

Services defines if services created within the virtual cluster should get synced to the host cluster.

enabled required boolean pro

Enabled defines if this option should be enabled.

endpoints required object pro

Endpoints defines if endpoints created within the virtual cluster should get synced to the host cluster.

enabled required boolean pro

Enabled defines if this option should be enabled.

networkPolicies required object pro

NetworkPolicies defines if network policies created within the virtual cluster should get synced to the host cluster.

enabled required boolean pro

Enabled defines if this option should be enabled.

persistentVolumeClaims required object pro

PersistentVolumeClaims defines if persistent volume claims created within the virtual cluster should get synced to the host cluster.

enabled required boolean pro

Enabled defines if this option should be enabled.

persistentVolumes required object pro

PersistentVolumes defines if persistent volumes created within the virtual cluster should get synced to the host cluster.

enabled required boolean pro

Enabled defines if this option should be enabled.

volumeSnapshots required object pro

VolumeSnapshots defines if volume snapshots created within the virtual cluster should get synced to the host cluster.

enabled required boolean pro

Enabled defines if this option should be enabled.

storageClasses required object pro

StorageClasses defines if storage classes created within the virtual cluster should get synced to the host cluster.

enabled required boolean pro

Enabled defines if this option should be enabled.

serviceAccounts required object pro

ServiceAccounts defines if service accounts created within the virtual cluster should get synced to the host cluster.

enabled required boolean pro

Enabled defines if this option should be enabled.

podDisruptionBudgets required object pro

PodDisruptionBudgets defines if pod disruption budgets created within the virtual cluster should get synced to the host cluster.

enabled required boolean pro

Enabled defines if this option should be enabled.

priorityClasses required object pro

PriorityClasses defines if priority classes created within the virtual cluster should get synced to the host cluster.

enabled required boolean pro

Enabled defines if this option should be enabled.

fromHost required object pro

Configure what resources vCluster should sync from the host cluster to the virtual cluster.

nodes required object pro

Nodes defines if nodes should get synced from the host cluster to the virtual cluster, but not back.

enabled required boolean pro

Enabled specifies if syncing real nodes should be enabled. If this is disabled, vCluster will create fake nodes instead.

syncBackChanges required boolean pro

SyncBackChanges enables syncing labels and taints from the virtual cluster to the host cluster. If this is enabled someone within the virtual cluster will be able to change the labels and taints of the host cluster node.

clearImageStatus required boolean pro

ClearImageStatus will erase the image status when syncing a node. This allows to hide images that are pulled by the node.

selector required object pro

Selector can be used to define more granular what nodes should get synced from the host cluster to the virtual cluster.

all required boolean pro

All specifies if all nodes should get synced by vCluster from the host to the virtual cluster or only the ones where pods are assigned to.

labels required object pro

Labels are the node labels used to sync nodes from host cluster to virtual cluster. This will also set the node selector when syncing a pod from virtual cluster to host cluster to the same value.

events required object pro

Events defines if events should get synced from the host cluster to the virtual cluster, but not back.

enabled required boolean pro

Enabled defines if this option should be enabled.

ingressClasses required object pro

IngressClasses defines if ingress classes should get synced from the host cluster to the virtual cluster, but not back.

enabled required boolean pro

Enabled defines if this option should be enabled.

storageClasses required object pro

StorageClasses defines if storage classes should get synced from the host cluster to the virtual cluster, but not back.

enabled required boolean pro

Enabled defines if this option should be enabled.

csiNodes required object pro

CSINodes defines if csi nodes should get synced from the host cluster to the virtual cluster, but not back.

enabled required boolean pro

Enabled defines if this option should be enabled.

csiDrivers required object pro

CSIDrivers defines if csi drivers should get synced from the host cluster to the virtual cluster, but not back.

enabled required boolean pro

Enabled defines if this option should be enabled.

csiStorageCapacities required object pro

CSIStorageCapacities defines if csi storage capacities should get synced from the host cluster to the virtual cluster, but not back.

enabled required boolean pro

Enabled defines if this option should be enabled.