K0s
Support for K0s is deprecated in vCluster v0.25 and removed in v0.26. Migration to a supported Kubernetes distribution is recommended.
Zero Friction Kubernetes (K0s) is an all-inclusive Kubernetes distribution, which is configured with all of the features needed to build a Kubernetes cluster and packaged as a single binary for ease of use. For more information on features, see the K0s documentation.
vCluster does not support dual stack networking when you use k0s. You can deploy K0s on a dual stack host cluster, but it does not have all the dual stack features.
To use K0s with default deployment options, add the following to your vcluster.yaml config file:
controlPlane:
distro:
k0s:
enabled: true
After deploying your vCluster, changing the Kubernetes distribution of vCluster is not supported.
Compatibility matrix​
Host cluster compatibility​
The Kubernetes distro of vCluster is completely independent of the Kubernetes distro of the host cluster. This means you can run vCluster using k0s distribution regardless of the distribution type of the host cluster.vCluster should work when deployed on a host cluster with the following supported Kubernetes versions:
- v1.32
- v1.31
- v1.30
Config reference​
k0s required object ​
[Deprecated] K0S holds k0s relevant configuration.
k0s required object ​enabled required boolean false ​
Enabled specifies if the k0s distro should be enabled. Only one distro can be enabled at the same time.
enabled required boolean false ​config required string ​
Config allows you to override the k0s config passed to the k0s binary.
config required string ​image required object ​
Image is the distro image
image required object ​registry required string ​
Registry is the registry of the container image, e.g. my-registry.com or ghcr.io. This setting can be globally
overridden via the controlPlane.advanced.defaultImageRegistry option. Empty means docker hub.
registry required string ​repository required string k0sproject/k0s ​
Repository is the repository of the container image, e.g. my-repo/my-image
repository required string k0sproject/k0s ​tag required string v1.30.2-k0s.0 ​
Tag is the tag of the container image, e.g. latest. If set to the default, it will use the host Kubernetes version.
tag required string v1.30.2-k0s.0 ​imagePullPolicy required string ​
ImagePullPolicy is the pull policy for the distro image
imagePullPolicy required string ​env required object[] ​
Env are extra environment variables to use for the main container and NOT the init container.
env required object[] ​resources required object map[limits:map[cpu:100m memory:256Mi] requests:map[cpu:40m memory:64Mi]] ​
Resources for the distro init container
resources required object map[limits:map[cpu:100m memory:256Mi] requests:map[cpu:40m memory:64Mi]] ​securityContext required object {} ​
Security options can be used for the distro init container
securityContext required object {} ​command required string[] [] ​
Command is the command to start the distro binary. This will override the existing command.
command required string[] [] ​extraArgs required string[] [] ​
ExtraArgs are additional arguments to pass to the distro binary.
extraArgs required string[] [] ​