$ whoami
Vatsal Parekh
Quality Engineer @ Red Hat
Pune, India
@vatsalparekh1
vatsalparekh.me
VMs are fun!
#CRDeverything
I still need VMs...
KubeVirt
VMs on K8S?
Yes, maybe...
Architecture
Virtual Machines have their own kind
Ability to express all common virtual machine parameters and actions
Targeted feature set is comparable to libvirt
apiVersion: kubevirt.io/v1alpha1
kind: VirtualMachine
metadata:
name: vm-fedora
spec:
domain:
devices:
disks:
…
resources:
requests:
memory: 1024M
volumes:
…
status:
interfaces:
- ipAddress: 172.17.0.12
nodeName: localhost
phase: Running
Virtual Machines live in pods
Transparent to higher-level management systems (monitoring, metrics, …)
Virtual Machines leverage pods
Metadata - Labels and annotations, passed through and additional CPU and memory resources, Storage and network, Specific events
KubeVirt
The Virtual Machine Operator
github.com/kubevirt/kubevirt
Containerized Data Importer (CDI)
Controller for importing disks
v2v
APB for Importing whole virtual machine
kubevirt/v2v-job
Virtual Machine disks are imported using
CDI (Containerized Disk Importer)
Ability to fetch disk images via http, …
Upload is in the works
Connectivity and Service Integration
Virtual Machine are connected to the regular pod network
From the outside there is no difference between a VM and pod
Applications within virtual machines are exported using Service and Routes
Selection using labels and selectors
Q&A