Skip to main content

Advanced

Config reference

advanced required object

Advanced holds additional configuration for the vCluster control plane.

defaultImageRegistry required 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 required 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 required boolean false

Enabled defines if this option should be enabled.

serviceAccount required object

ServiceAccount specifies options for the vCluster control plane service account.

enabled required boolean true

Enabled specifies if the service account should get deployed.

name required string

Name specifies what name to use for the service account.

imagePullSecrets required object[]

ImagePullSecrets defines extra image pull secrets for the service account.

name required string

Name of the image pull secret to use.

annotations required object {}

Annotations are extra annotations for this resource.

labels required object {}

Labels are extra labels for this resource.

workloadServiceAccount required object

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

enabled required boolean true

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

name required string

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

imagePullSecrets required object[]

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

name required string

Name of the image pull secret to use.

annotations required object {}

Annotations are extra annotations for this resource.

labels required object {}

Labels are extra labels for this resource.

headlessService required object

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

annotations required object {}

Annotations are extra annotations for this resource.

labels required object {}

Labels are extra labels for this resource.

konnectivity required object

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

server required object

Server holds configuration for the konnectivity server.

enabled required boolean true

Enabled defines if the konnectivity server should be enabled.

extraArgs required string[] []

ExtraArgs are additional arguments to pass to the konnectivity server.

agent required object

Agent holds configuration for the konnectivity agent.

enabled required boolean true

Enabled defines if the konnectivity agent should be enabled.

replicas required integer 1

Replicas is the number of replicas for the konnectivity agent.

image required string

Image is the image for the konnectivity agent.

imagePullPolicy required string

ImagePullPolicy is the policy how to pull the image.

nodeSelector required object {}

NodeSelector is the node selector for the konnectivity agent.

priorityClassName required string

PriorityClassName is the priority class name for the konnectivity agent.

tolerations required object[] []

Tolerations is the tolerations for the konnectivity agent.

extraEnv required object[] []

ExtraEnv is the extra environment variables for the konnectivity agent.

extraArgs required string[] []

ExtraArgs are additional arguments to pass to the konnectivity agent.

registry required 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 required boolean false

Enabled defines if the embedded registry should be enabled.

anonymousPull required boolean true

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

config required object {}

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

cloudControllerManager required 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 required 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 required object

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

annotations required object {}

Annotations are extra annotations for this resource.

kubeVip required object

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

enabled required boolean false

Enabled defines if embedded kube-vip should be enabled.

interface required string

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

gateway required 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 required object

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

enabled required boolean false

Enabled defines if the pod disruption budget should be enabled.

minAvailable required object

MinAvailable describes the minimal number or percentage of available pods.

maxUnavailable required object

MaxUnavailable describes the minimal number or percentage of unavailable pods.

unhealthyPodEvictionPolicy required 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.