Skip to main content
Version: v0.35 Stable

KubeVirt

Supported Configurations
Running the control plane as a container with:
Enterprise-Only Feature

This feature is an Enterprise feature. See our pricing plans or contact our sales team for more information.

vCluster offers the possibility to reuse a KubeVirt installation of the control plane cluster within the vCluster. vCluster is able to sync KubeVirt resources from the vCluster to the control plane cluster and allows you to use virtctl within the vCluster.

Enable KubeVirt Integration​

To enable the integration, use the following configuration inside your vcluster.yaml:

integrations:
kubeVirt:
enabled: true
# If you want vCluster to sync data volumes as well.
#sync:
# dataVolumes:
# enabled: true

Next you can deploy and use KubeVirt resources inside the vCluster which will be synced to the control plane cluster.

Sync DataVolumes​

In order to sync KubeVirt DataVolumes, please make sure to install the KubeVirt Containerized Data Importer. Then enable the following setting in the vcluster.yaml:

integrations:
kubeVirt:
enabled: true
sync:
dataVolumes:
enabled: true

After vCluster restarts, the DataVolumes CRD should be visible within the vCluster.

Limitations​

vCluster currently only supports syncing and using the following resources inside the vCluster:

  • VirtualMachine
  • VirtualMachineInstance
  • VirtualMachinePool
  • VirtualMachineClone
  • DataVolume (needs to be enabled via integrations.kubeVirt.sync.dataVolumes.enabled)

The following virtctl commands are supported:

  • virtctl start
  • virtctl stop
  • virtctl migrate
  • virtctl ssh
  • virtctl vnc
  • virtctl pause
  • virtctl unpause
  • virtctl scp
  • virtctl restart
  • virtctl port-forward
  • virtctl console

Config reference​

kubeVirt object ​

KubeVirt reuses a host kubevirt and makes certain CRDs from it available inside the vCluster

enabled boolean false ​

Enabled signals if the integration should be enabled

apiService object ​

APIService holds information about where to find the virt-api service. Defaults to virt-api/kubevirt.

service object ​

Service is a reference to the service for the API server.

name string ​

Name is the name of the host service of the apiservice.

namespace string ​

Namespace is the name of the host service of the apiservice.

port integer ​

Port is the target port on the host service to connect to.

webhook object ​

Webhook holds configuration for enabling the webhook within the vCluster

enabled boolean true ​

Enabled defines if this option should be enabled.

sync object ​

Sync holds configuration on what resources to sync

dataVolumes object ​

If DataVolumes should get synced

enabled boolean false ​

Enabled defines if this option should be enabled.

virtualMachineInstanceMigrations object ​

If VirtualMachineInstanceMigrations should get synced

enabled boolean true ​

Enabled defines if this option should be enabled.

virtualMachineInstances object ​

If VirtualMachineInstances should get synced

enabled boolean true ​

Enabled defines if this option should be enabled.

virtualMachines object ​

If VirtualMachines should get synced

enabled boolean true ​

Enabled defines if this option should be enabled.

virtualMachineClones object ​

If VirtualMachineClones should get synced

enabled boolean true ​

Enabled defines if this option should be enabled.

virtualMachinePools object ​

If VirtualMachinePools should get synced

enabled boolean true ​

Enabled defines if this option should be enabled.