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​
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:
deploy:
ingressNginx:
enabled: true
Metrics Server​
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:
deploy:
metricsServer:
enabled: true
CNI​
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.
deploy:
cni:
flannel:
enabled: false
Kube proxy​
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​
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:
deploy:
metallb:
enabled: true
ipAddressPool:
addresses:
- 10.X.X.1-10.X.X.100 # your ips here
Local Path Provisioner​
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.
deploy required object ​kubeProxy required object ​
KubeProxy holds dedicated kube proxy configuration.
kubeProxy required object ​enabled required boolean true ​
Enabled defines if the kube proxy should be enabled.
enabled required boolean true ​image required string ​
Image is the image for the kube-proxy.
image required string ​imagePullPolicy required string ​
ImagePullPolicy is the policy how to pull the image.
imagePullPolicy required string ​nodeSelector required object {} ​
NodeSelector is the node selector for the kube-proxy.
nodeSelector required object {} ​priorityClassName required string ​
PriorityClassName is the priority class name for the kube-proxy.
priorityClassName required string ​tolerations required object[] [] ​
Tolerations is the tolerations for the kube-proxy.
tolerations required object[] [] ​extraEnv required object[] [] ​
ExtraEnv is the extra environment variables for the kube-proxy.
extraEnv required object[] [] ​extraArgs required string[] [] ​
ExtraArgs are additional arguments to pass to the kube-proxy.
extraArgs required string[] [] ​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
config required object {} ​metallb required object ​
Metallb holds dedicated metallb configuration.
metallb required object ​enabled required boolean false ​
Enabled defines if metallb should be enabled.
enabled required boolean false ​controllerImage required string ​
ControllerImage is the image for metallb controller.
controllerImage required string ​speakerImage required string ​
SpeakerImage is the image for metallb speaker.
speakerImage required string ​ipAddressPool required object ​
IPAddressPool is the IP address pool to use for metallb.
ipAddressPool required object ​cni required object ​
CNI holds dedicated CNI configuration.
cni required object ​flannel required object ​
Flannel holds dedicated Flannel configuration.
flannel required object ​enabled required boolean true ​
Enabled defines if Flannel should be enabled.
enabled required boolean true ​image required string ​
Image is the image for Flannel main container.
image required string ​initImage required string ​
InitImage is the image for Flannel init container.
initImage required string ​imagePullPolicy required string ​
ImagePullPolicy is the policy how to pull the image.
imagePullPolicy required string ​localPathProvisioner required object ​
LocalPathProvisioner holds dedicated local path provisioner configuration.
localPathProvisioner required object ​enabled required boolean true ​
Enabled defines if LocalPathProvisioner should be enabled.
enabled required boolean true ​image required string ​
Image is the image for local path provisioner.
image required string ​imagePullPolicy required string ​
ImagePullPolicy is the policy how to pull the image.
imagePullPolicy required string ​nodePath required string ​
NodePath is the path on the node where to create the persistent volume directories.
nodePath required string ​ingressNginx required object ​
IngressNginx holds dedicated ingress-nginx configuration.
ingressNginx required object ​