Libvirt has long provided the standard API for managing virtual machines on individual hosts. It has delegated the task of managing clusters of hosts to higher level applications like OpenSack, oVirt, or Proxmox, just to name just a few. Despite their differences, these applications have a lot of infrastructure needs in common and as a result have often re-invented the same solutions to problems.
In this talk we are going to look at how to leverage libvirt and KVM to enable general purpose management of virtual machines with Kubernetes. It will show how the Kubernetes platform can be used to support application container, data center virtualization and cloud virtualization use cases from a single application & API. At a technical level it will examine some of the challenges integrating virtual machines with the Kubernetes architecture.