Skip to main content

KubeVirt


Pro Feature

This feature is available in the vCluster Pro tier. Contact us for more details and to start a trial.

vCluster offers the possibility to reuse a KubeVirt installation of the host cluster within the vCluster. vCluster is able to sync KubeVirt resources from the vCluster to the host 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 host 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 required object pro​

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

enabled required boolean false pro​

Enabled signals if the integration should be enabled

apiService required object pro​

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

service required object pro​

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

name required string pro​

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

namespace required string pro​

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

port required integer pro​

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

webhook required object pro​

Webhook holds configuration for enabling the webhook within the vCluster

enabled required boolean true pro​

Enabled defines if this option should be enabled.

sync required object pro​

Sync holds configuration on what resources to sync

dataVolumes required object pro​

If DataVolumes should get synced

enabled required boolean false pro​

Enabled defines if this option should be enabled.

virtualMachineInstanceMigrations required object pro​

If VirtualMachineInstanceMigrations should get synced

enabled required boolean true pro​

Enabled defines if this option should be enabled.

virtualMachineInstances required object pro​

If VirtualMachineInstances should get synced

enabled required boolean true pro​

Enabled defines if this option should be enabled.

virtualMachines required object pro​

If VirtualMachines should get synced

enabled required boolean true pro​

Enabled defines if this option should be enabled.

virtualMachineClones required object pro​

If VirtualMachineClones should get synced

enabled required boolean true pro​

Enabled defines if this option should be enabled.

virtualMachinePools required object pro​

If VirtualMachinePools should get synced

enabled required boolean true pro​

Enabled defines if this option should be enabled.