Skip to main content
Version: v0.35 Stable

Advanced

Config reference​

advanced object ​

Advanced holds additional configuration for the vCluster control plane.

defaultImageRegistry string ​

DefaultImageRegistry will be used as a prefix for all internal images deployed by vCluster or Helm. This makes it easy to upload all required vCluster images to a single private repository and set this value. Workload images are not affected by this.

virtualScheduler object ​

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. Deprecated: Use ControlPlane.Distro.K8S.Scheduler instead.

enabled boolean false ​

Enabled defines if this option should be enabled.

serviceAccount object ​

ServiceAccount specifies options for the vCluster control plane service account.

enabled boolean true ​

Enabled specifies if the service account should get deployed.

name string ​

Name specifies what name to use for the service account.

imagePullSecrets object[] ​

ImagePullSecrets defines extra image pull secrets for the service account.

name string ​

Name of the image pull secret to use.

annotations object {} ​

Annotations are extra annotations for this resource.

labels object {} ​

Labels are extra labels for this resource.

workloadServiceAccount object ​

WorkloadServiceAccount specifies options for the service account that will be used for the workloads that run within the virtual cluster.

enabled boolean true ​

Enabled specifies if the service account for the workloads should get deployed.

name string ​

Name specifies what name to use for the service account for the virtual cluster workloads.

imagePullSecrets object[] ​

ImagePullSecrets defines extra image pull secrets for the workload service account.

name string ​

Name of the image pull secret to use.

annotations object {} ​

Annotations are extra annotations for this resource.

labels object {} ​

Labels are extra labels for this resource.

headlessService object ​

HeadlessService specifies options for the headless service used for the vCluster StatefulSet.

annotations object {} ​

Annotations are extra annotations for this resource.

labels object {} ​

Labels are extra labels for this resource.

konnectivity object ​

Konnectivity holds dedicated konnectivity configuration. This is only available when privateNodes.enabled is true.

server object ​

Server holds configuration for the konnectivity server.

enabled boolean true ​

Enabled defines if the konnectivity server should be enabled.

extraArgs string[] [] ​

ExtraArgs are additional arguments to pass to the konnectivity server.

agent object ​

Agent holds configuration for the konnectivity agent.

enabled boolean true ​

Enabled defines if the konnectivity agent should be enabled.

replicas integer 1 ​

Replicas is the number of replicas for the konnectivity agent.

image string ​

Image is the image for the konnectivity agent.

imagePullPolicy string ​

ImagePullPolicy is the policy how to pull the image.

nodeSelector object {} ​

NodeSelector is the node selector for the konnectivity agent.

priorityClassName string ​

PriorityClassName is the priority class name for the konnectivity agent.

tolerations object[] [] ​

Tolerations is the tolerations for the konnectivity agent.

extraEnv object[] [] ​

ExtraEnv is the extra environment variables for the konnectivity agent.

extraArgs string[] [] ​

ExtraArgs are additional arguments to pass to the konnectivity agent.

registry object ​

Registry allows enabling an embedded docker image registry in vCluster. This is useful for air-gapped environments or when you don't have a public registry available to distribute images.

enabled boolean false ​

Enabled defines if the embedded registry should be enabled.

anonymousPull boolean true ​

AnonymousPull allows enabling anonymous pull for the embedded registry. This allows anybody to pull images from the registry without authentication.

config object {} ​

Config is the regular docker registry config. See https://distribution.github.io/distribution/about/configuration/ for more details.

cloudControllerManager object ​

CloudControllerManager holds configuration for the embedded cloud controller manager. This is only available when private nodes are enabled. The cloud controller manager is responsible for setting the node's ip addresses as well as the provider id for the node and other node metadata.

enabled boolean true ​

Enabled defines if the embedded cloud controller manager should be enabled. This defaults to true, but can be disabled if you want to use an external cloud controller manager such as AWS or GCP. The cloud controller manager is responsible for setting the node's ip addresses as well as the provider id for the node and other node metadata.

globalMetadata object ​

GlobalMetadata is metadata that will be added to all resources deployed by Helm.

annotations object {} ​

Annotations are extra annotations for this resource.

kubeVip object ​

KubeVip holds configuration for embedded kube-vip that announces the virtual cluster endpoint IP on layer 2.

enabled boolean false ​

Enabled defines if embedded kube-vip should be enabled.

interface string ​

Interface is the network interface on which the VIP is announced.

gateway string ​

Gateway is the gateway address in CIDR notation (e.g., 10.100.0.1/24). This is used to configure policy-based routing for the VIP and must include the subnet prefix.

podDisruptionBudget object ​

PodDisruptionBudget limits how many pods of an application can be voluntarily disrupted at once to ensure availability during maintenance or scaling operations.

enabled boolean false ​

Enabled defines if the pod disruption budget should be enabled.

minAvailable object ​

MinAvailable describes the minimal number or percentage of available pods.

maxUnavailable object ​

MaxUnavailable describes the minimal number or percentage of unavailable pods.

unhealthyPodEvictionPolicy string ​

UnhealthyPodEvictionPolicy defines the criteria when unhealthy pods should be considered for eviction. Currently supported values are:

  • IfHealthyBudget - pods that are in the Running phase but not yet healthy are considered disrupted and may be evicted even if the PodDisruptionBudget criteria are not met.
  • AlwaysAllow - pods that are in the Running phase but not yet healthy are considered disrupted and can be evicted regardless of whether the criteria in a PDB is met.