Quick Setup Guide
This document provides a quick setup guide for Platform9 Managed KubeVirt.
Platform9 Managed KubeVirt supports creating virtual machines (VMs) in Kubernetes clusters with on-premises infrastructure or public cloud providers. You can create and manage VMs on Kubernetes clusters deployed across any of these environments.
Prerequisites
If you are new to Platform9 KubeVirt, we recommend starting with the Platform9 Managed KubeVirt Overview section. This guide also assumes you are familiar with setting up and deploying Kubernetes using Platform9 Managed Kubernetes (PMK). If not, refer to the get started with PMK as a prerequisite step. This will also guide you on supported cluster infrastructure, operating systems, and other requirements to get your clusters up and running before you begin deploying VMs on them.
The following pre-requisites are required for a successful PMK KubeVirt deployment:
A running PMK Kubernetes cluster with Kube API-server configured to run privileged containers. This can be done in the first step of the BareOS cluster creation process in the PMK UI.
Hardware Virtualization Support
- Hardware with virtualization support is recommended. You can use virt-host-validate to ensure that your PMK nodes are capable of running virtualization workloads:
$ virt-host-validate qemu
QEMU: Checking for hardware virtualization : PASS
QEMU: Checking if device /dev/kvm exists : PASS
QEMU: Checking if device /dev/kvm is accessible : PASS
QEMU: Checking if device /dev/vhost-net exists : PASS
QEMU: Checking if device /dev/net/tun exists : PASS
...
SELinux support
- SELinux-enabled nodes need Container-selinux installed. The minimum version required is 2.170.0.
Enabling KubeVirt
Once you are up and running with PMK, you can start deploying Kubernetes clusters with KubeVirt enabled and subsequently create and manage VMs on them. When bringing up KubeVirtt for the first time there are two options to enable on a cluster.
Option #1: Navigate to the KubeVirt getting started landing page.
- Select the app switcher in the upper left hand corner and select KubeVirtt

From the "Run VMs in your Kubernetes Environment with KubeVirt" page you can select "Create New Cluster" or "Add KubeVirt configuration to a selected cluster"

- Selecting "Create New Cluster" will take you to the new cluster creation wizard in the PMK SaaS console (see Navigate to the cluster creation Wizard in the PMK SaaS console)
- Choosing "Add KubeVirt configuration to a selected cluster" will provide a wizard to select an existing cluster to enable KubeVirt & Luigi Operator (Advanced Networking), which are required to run KubeVirt.

Option #2: Navigate to the cluster creation Wizard in the PMK SaaS Console.
- Select Kubernetes from the App Switcher
- From the Infrastructure view Select "Create Cluster" in the top-right corner of the Infrastructure view

- Specify deployment details for your Kubernetes cluster as usual

Enable KubeVirt on the cluster
- Select the "Network Plugin Operator" option
- Select the "Enable KubeVirt" option
When enabling the KubeVirt Addon the Network Plugin Operator (Luigi) addon will automatically be selected as well. The Network Plugin Operator is a prerequisite for running Kubevirt on Platform9, not installing it will prevent Kubevirt from installing correctly.

Complete Cluster Creation
- Nothing else in the cluster creation specifications need to be KubeVirt specific. Proceed to completing cluster creation

- Navigate back to the Infrastructure - Clusters view to verify that your cluster is created and ready to go.

You should now be able to start creating and managing virtual machines in this Kubernetes cluster!
The KubeVirt User Guide is a great place to get started.