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​
This feature is only available for the following:
- 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 for the following:
- 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 for the following:
- 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 for the following:
- 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 for the following:
- 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 for the following:
- 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 ​