KubeVirt
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:
VirtualMachineVirtualMachineInstanceVirtualMachinePoolVirtualMachineCloneDataVolume(needs to be enabled viaintegrations.kubeVirt.sync.dataVolumes.enabled)
The following virtctl commands are supported:
virtctl startvirtctl stopvirtctl migratevirtctl sshvirtctl vncvirtctl pausevirtctl unpausevirtctl scpvirtctl restartvirtctl port-forwardvirtctl console
Config reference
kubeVirt object
KubeVirt reuses a host kubevirt and makes certain CRDs from it available inside the vCluster
kubeVirt object enabled boolean false
Enabled signals if the integration should be enabled
enabled boolean false apiService object
APIService holds information about where to find the virt-api service. Defaults to virt-api/kubevirt.
apiService object webhook object
Webhook holds configuration for enabling the webhook within the vCluster
webhook object enabled boolean true
Enabled defines if this option should be enabled.
enabled boolean true sync object
Sync holds configuration on what resources to sync
sync object dataVolumes object
If DataVolumes should get synced
dataVolumes object enabled boolean false
Enabled defines if this option should be enabled.
enabled boolean false virtualMachineInstanceMigrations object
If VirtualMachineInstanceMigrations should get synced
virtualMachineInstanceMigrations object enabled boolean true
Enabled defines if this option should be enabled.
enabled boolean true virtualMachineInstances object
If VirtualMachineInstances should get synced
virtualMachineInstances object enabled boolean true
Enabled defines if this option should be enabled.
enabled boolean true virtualMachines object
If VirtualMachines should get synced
virtualMachines object enabled boolean true
Enabled defines if this option should be enabled.
enabled boolean true