Skip to main content

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.

[Deprecated]: Ingress Nginx

Supported Configurations
Running the control plane as a container with:

vCluster can install ingress nginx into the vCluster. This can be enabled via:

Enable Ingress Nginx
deploy:
ingressNginx:
enabled: true

Metrics Server

Supported Configurations
Running the control plane as a container with:

vCluster can install metrics server into the vCluster. This can be enabled via:

Enable Metrics Server
deploy:
metricsServer:
enabled: true

CNI

Supported Configurations
Running the control plane as a container with:

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

Supported Configurations
Running the control plane as a container with:

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

Supported Configurations
Running the control plane as a container with:

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

Supported Configurations
Running the control plane as a container with:

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. Deprecated: We do not deploy ingress nginx and the project is being deprecated.

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.

volumeSnapshotController required object

VolumeSnapshotController holds dedicated CSI snapshot-controller configuration.

enabled required boolean false

Enabled defines if the CSI volumes snapshot-controller should be enabled.