Skip to main content
Version: v0.28 Stable

Deploy vCluster AddOns

Configure addons​

vCluster supports addons that extend the functionality of your virtual cluster. You can configure these addons during deployment to adjust networking, observability, and other features for your environment and requirements.

Ingress Nginx​

Limited vCluster Tenancy Configuration Support

This feature is only available when using the following worker node types:

  • Host Nodes
  • Private Nodes
  • vCluster can install ingress nginx into the vCluster. This can be enabled via:

    Enable Ingress Nginx
    deploy:
    ingressNginx:
    enabled: true

    Metrics Server​

    Limited vCluster Tenancy Configuration Support

    This feature is only available when using the following worker node types:

  • Host Nodes
  • Private Nodes
  • vCluster can install metrics server into the vCluster. This can be enabled via:

    Enable Metrics Server
    deploy:
    metricsServer:
    enabled: true

    CNI​

    Limited vCluster Tenancy Configuration Support

    This feature is only available when using the following worker node types:

  • Private Nodes
  • vCluster installs Flannel by default. You can install your own CNI with the following.

    Disable default Flannel CNI
    deploy:
    cni:
    flannel:
    enabled: false

    Kube proxy​

    Limited vCluster Tenancy Configuration Support

    This feature is only available when using the following worker node types:

  • Private Nodes
  • vCluster installs Kube Proxy by default to ensure that services are configured on the nodes. Some CNI implement their own kube-proxy functionality. Optionally, you can disable kube-proxy deployment in the vCluster config.

    Metallb​

    Limited vCluster Tenancy Configuration Support

    This feature is only available when using the following worker node types:

  • Private Nodes
  • vCluster can install Metallb into the vCluster. This can be enabled via:

    Enable Metallb
    deploy:
    metallb:
    enabled: true
    ipAddressPool:
    addresses:
    - 10.X.X.1-10.X.X.100 # your ips here

    Local Path Provisioner​

    Limited vCluster Tenancy Configuration Support

    This feature is only available when using the following worker node types:

  • Private Nodes
  • vCluster installs the Local Path Provisioner by default to allow stateful workloads within the vCluster.

    Config reference​

    deploy required object ​

    Deploy holds configuration for the deployment of vCluster.

    kubeProxy required object ​

    KubeProxy holds dedicated kube proxy configuration.

    enabled required boolean true ​

    Enabled defines if the kube proxy should be enabled.

    image required string ​

    Image is the image for the kube-proxy.

    imagePullPolicy required string ​

    ImagePullPolicy is the policy how to pull the image.

    nodeSelector required object {} ​

    NodeSelector is the node selector for the kube-proxy.

    priorityClassName required string ​

    PriorityClassName is the priority class name for the kube-proxy.

    tolerations required object[] [] ​

    Tolerations is the tolerations for the kube-proxy.

    extraEnv required object[] [] ​

    ExtraEnv is the extra environment variables for the kube-proxy.

    extraArgs required string[] [] ​

    ExtraArgs are additional arguments to pass to the kube-proxy.

    config required object {} ​

    Config is the config for the kube-proxy that will be merged into the default kube-proxy config. More information can be found here: https://kubernetes.io/docs/reference/config-api/kube-proxy-config.v1alpha1/#kubeproxy-config-k8s-io-v1alpha1-KubeProxyConfiguration

    metallb required object ​

    Metallb holds dedicated metallb configuration.

    enabled required boolean false ​

    Enabled defines if metallb should be enabled.

    controllerImage required string ​

    ControllerImage is the image for metallb controller.

    speakerImage required string ​

    SpeakerImage is the image for metallb speaker.

    ipAddressPool required object ​

    IPAddressPool is the IP address pool to use for metallb.

    addresses required string[] [] ​

    Addresses is a list of IP addresses to use for the IP address pool.

    l2Advertisement required boolean true ​

    L2Advertisement defines if L2 advertisement should be enabled for the IP address pool.

    cni required object ​

    CNI holds dedicated CNI configuration.

    flannel required object ​

    Flannel holds dedicated Flannel configuration.

    enabled required boolean true ​

    Enabled defines if Flannel should be enabled.

    image required string ​

    Image is the image for Flannel main container.

    initImage required string ​

    InitImage is the image for Flannel init container.

    imagePullPolicy required string ​

    ImagePullPolicy is the policy how to pull the image.

    localPathProvisioner required object ​

    LocalPathProvisioner holds dedicated local path provisioner configuration.

    enabled required boolean true ​

    Enabled defines if LocalPathProvisioner should be enabled.

    image required string ​

    Image is the image for local path provisioner.

    imagePullPolicy required string ​

    ImagePullPolicy is the policy how to pull the image.

    nodePath required string ​

    NodePath is the path on the node where to create the persistent volume directories.

    ingressNginx required object ​

    IngressNginx holds dedicated ingress-nginx configuration.

    enabled required boolean false ​

    Enabled defines if ingress-nginx should be enabled.

    defaultIngressClass required boolean true ​

    DefaultIngressClass defines if the deployed ingress class should be the default ingress class.

    metricsServer required object ​

    MetricsServer holds dedicated metrics server configuration.

    enabled required boolean false ​

    Enabled defines if metrics server should be enabled.