We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

A journey through supporting VMs with dedicated CPUs on Kubernetes

Formal Metadata

Title
A journey through supporting VMs with dedicated CPUs on Kubernetes
Title of Series
Number of Parts
542
Author
License
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
In the Kubernetes resource allocation model, abstract concepts like resource request and limits, container QoS (quality of service), etc are being used. These concepts are eventually being converted under the hood to cgroup configurations, which have their own resource management model and concepts like CPU shares, CFS quotas, etc. In the context of Kubevirt, an add-on to Kubernetes to allow running cloud-native VMs alongside containers, this information is crucial. In fact, our own “Cgroup Manager” was implemented to mutate and configure the container cgroups that are being defined to us by Kubernetes. One especially interesting challenge was to support a true CPU Pinning for VMs running on top of Kubernetes. This presentation will take you through our journey to support true dedicated CPUs for VMs. I hope that after taking part in this presentation, the audience will better understand Kubernetes and Cgroup resource allocation models and how they can be further utilized in the future. In addition, I wish that the info presented here will improve the collaboration between different technologies in the ecosystem like Cgroups, KVM, libvirt, Kubevirt and Kubernetes by raising awareness to how they all interact together in different and interesting use-cases.