Kubevirt
Kubevirt allows users to run QEMU virtual machines inside of Kubernetes.
Installation
-
Install via ArgoCD with Kubevirt Argo CD ApplicationSet
-
Install via Helm using Kubevirt Community Stack
Components
Kubevirt is made up of several pieces:
-
Kubervirt Operator
The operator controls virtual machine instances and provides the CRDs that define them
-
Kubevirt CDI
The Containerized Data Importer can pull virtual machine images, ISO files, and other types of bootable media from sources like S3, HTTP, or OCI images. This data is then written to PVCs which are mounted as disks. For examples of various ways to use the CDI, see the notes in the argocd-apps repo
-
Kubevirt Manager
This is a community-developed web-ui which allows users to create, manage, and interact with virtual machines running in Kubevirt. See their official docs at kubevirt-manager.io
Utilities
-
libvirt-clients
This utility will audit a host machine and report what virtualisation capabilities are available
-
Installation
1
sudo apt-get install -y libvirt-clients
-
Usage
1 2 3 4 5 6
$ 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
-
-
virtctl
virtctl is the command-line utility for managing Kubevirt resources. It can be installed as a standalone CLI or as a Kubectl plugin via krew.
-
Standalone
1 2
export VERSION=v0.41.0 wget https://github.com/kubevirt/kubevirt/releases/download/${VERSION}/virtctl-${VERSION}-linux-amd64
-
Plugin
1
kubectl krew install virt
-
Uninstall
In the event that Kubevirt does not uninstall gracefully, you may need to perform the following steps:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|