Kubernetes distro
vCluster uses Kubernetes as the default distribution for the virtual cluster.
vCluster supports Kubernetes (K8s), Lightweight Kubernetes (K3s), and Zero Friction Kubernetes (k0s). However, vCluster is not tied to a specific distribution and should work with all certified Kubernetes distributions.
You can add your custom Kubernetes distribution using advanced configuration.
Compatibility matrix
k0s
Compatibility matrix showing which host K8s version (left column) is supported by which vCluster k0s distro versions.
v1.29.1-k0s.0 | v1.28.2-k0s.0 | v1.27.6-k0s.0 | v1.26.9-k0s.0 | |
---|---|---|---|---|
1.29 | ✅ | 🆗 | 🆗 | 🆗 |
1.28 | 🆗 | ✅ | 🆗 | 🆗 |
1.27 | 🆗 | 🆗 | ✅ | 🆗 |
1.26 | 🆗 | 🆗 | 🆗 | ✅ |
Legend:
⚠️ : known issue
✅ : recommended
🆗 : likely compatible
K3s
Compatibility matrix showing which host K8s version (left column) is supported by which vCluster K3s distro versions.
v1.29.0-k3s1 | v1.28.5-k3s1 | v1.27.9-k3s1 | v1.26.12-k3s1 | |
---|---|---|---|---|
1.29 | ✅ | 🆗 | 🆗 | 🆗 |
1.28 | 🆗 | ✅ | 🆗 | 🆗 |
1.27 | 🆗 | 🆗 | ✅ | 🆗 |
1.26 | 🆗 | 🆗 | 🆗 | ✅ |
Legend:
⚠️ : known issue
✅ : recommended
🆗 : likely compatible
K8s
Compatibility matrix showing which host K8s version (left column) is supported by which vCluster K8s distro versions.
v1.29.0 | v1.28.4 | v1.27.8 | v1.26.11 | |
---|---|---|---|---|
1.29 | ✅ | 🆗 | 🆗 | 🆗 |
1.28 | 🆗 | ✅ | 🆗 | 🆗 |
1.27 | 🆗 | 🆗 | ✅ | 🆗 |
1.26 | 🆗 | 🆗 | 🆗 | ✅ |
Legend:
⚠️ : known issue
✅ : recommended
🆗 : likely compatible
Config reference
distro
required object pro
Distro holds virtual cluster related distro options. A distro cannot be changed after vCluster is deployed.
distro
required object prok8s
required object pro
K8S holds K8s relevant configuration.
k8s
required object proenabled
required boolean pro
Enabled specifies if the K8s distro should be enabled. Only one distro can be enabled at the same time.
enabled
required boolean proapiServer
required object pro
APIServer holds configuration specific to starting the api server.
apiServer
required object proenabled
required boolean pro
Enabled signals this container should be enabled.
enabled
required boolean proimage
required object pro
Image is the distro image
image
required object proimagePullPolicy
required string pro
ImagePullPolicy is the pull policy for the distro image
imagePullPolicy
required string procommand
required string[] pro
Command is the command to start the distro binary. This will override the existing command.
command
required string[] proextraArgs
required string[] pro
ExtraArgs are additional arguments to pass to the distro binary.
extraArgs
required string[] procontrollerManager
required object pro
ControllerManager holds configuration specific to starting the controller manager.
controllerManager
required object proenabled
required boolean pro
Enabled signals this container should be enabled.
enabled
required boolean proimage
required object pro
Image is the distro image
image
required object proimagePullPolicy
required string pro
ImagePullPolicy is the pull policy for the distro image
imagePullPolicy
required string procommand
required string[] pro
Command is the command to start the distro binary. This will override the existing command.
command
required string[] proextraArgs
required string[] pro
ExtraArgs are additional arguments to pass to the distro binary.
extraArgs
required string[] proscheduler
required object pro
Scheduler holds configuration specific to starting the scheduler. Enable this via controlPlane.advanced.virtualScheduler.enabled
scheduler
required object proimage
required object pro
Image is the distro image
image
required object proimagePullPolicy
required string pro
ImagePullPolicy is the pull policy for the distro image
imagePullPolicy
required string procommand
required string[] pro
Command is the command to start the distro binary. This will override the existing command.
command
required string[] proextraArgs
required string[] pro
ExtraArgs are additional arguments to pass to the distro binary.
extraArgs
required string[] proenv
required object[] pro
Env are extra environment variables to use for the main container and NOT the init container.
env
required object[] proresources
required object pro
Resources for the distro init container
resources
required object prosecurityContext
required object pro
Security options can be used for the distro init container
securityContext
required object prok3s
required object pro
K3S holds K3s relevant configuration.
k3s
required object proenabled
required boolean pro
Enabled specifies if the K3s distro should be enabled. Only one distro can be enabled at the same time.
enabled
required boolean protoken
required string pro
Token is the K3s token to use. If empty, vCluster will choose one.
token
required string proenv
required object[] pro
Env are extra environment variables to use for the main container and NOT the init container.
env
required object[] proresources
required object pro
Resources for the distro init container
resources
required object prosecurityContext
required object pro
Security options can be used for the distro init container
securityContext
required object proimage
required object pro
Image is the distro image
image
required object proimagePullPolicy
required string pro
ImagePullPolicy is the pull policy for the distro image
imagePullPolicy
required string procommand
required string[] pro
Command is the command to start the distro binary. This will override the existing command.
command
required string[] proextraArgs
required string[] pro
ExtraArgs are additional arguments to pass to the distro binary.
extraArgs
required string[] prok0s
required object pro
K0S holds k0s relevant configuration.
k0s
required object proenabled
required boolean pro
Enabled specifies if the k0s distro should be enabled. Only one distro can be enabled at the same time.
enabled
required boolean proconfig
required string pro
Config allows you to override the k0s config passed to the k0s binary.
config
required string proenv
required object[] pro
Env are extra environment variables to use for the main container and NOT the init container.
env
required object[] proresources
required object pro
Resources for the distro init container
resources
required object prosecurityContext
required object pro
Security options can be used for the distro init container
securityContext
required object proimage
required object pro
Image is the distro image
image
required object proimagePullPolicy
required string pro
ImagePullPolicy is the pull policy for the distro image
imagePullPolicy
required string procommand
required string[] pro
Command is the command to start the distro binary. This will override the existing command.
command
required string[] proextraArgs
required string[] pro
ExtraArgs are additional arguments to pass to the distro binary.
extraArgs
required string[] proeks
required object pro
EKS holds eks relevant configuration.
eks
required object proenabled
required boolean pro
Enabled specifies if the K8s distro should be enabled. Only one distro can be enabled at the same time.
enabled
required boolean proapiServer
required object pro
APIServer holds configuration specific to starting the api server.
apiServer
required object proenabled
required boolean pro
Enabled signals this container should be enabled.
enabled
required boolean proimage
required object pro
Image is the distro image
image
required object proimagePullPolicy
required string pro
ImagePullPolicy is the pull policy for the distro image
imagePullPolicy
required string procommand
required string[] pro
Command is the command to start the distro binary. This will override the existing command.
command
required string[] proextraArgs
required string[] pro
ExtraArgs are additional arguments to pass to the distro binary.
extraArgs
required string[] procontrollerManager
required object pro
ControllerManager holds configuration specific to starting the controller manager.
controllerManager
required object pro