From: Andrea Bolognani <abologna@redhat.com>
To: libvir-list@redhat.com, qemu-devel@nongnu.org
Cc: vromanso@redhat.com, rmohr@redhat.com, crobinso@redhat.com
Subject: [RFC DOCUMENT 03/12] kubevirt-and-kvm: Add Hotplug page
Date: Wed, 16 Sep 2020 18:47:34 +0200 [thread overview]
Message-ID: <d4b52f7795a28023168bbf371b455afbcc7ef18d.camel@redhat.com> (raw)
In-Reply-To: <a6b5e34843b3f08994d4ffefadc5867001e0bc36.camel@redhat.com>
https://gitlab.com/abologna/kubevirt-and-kvm/-/blob/master/Hotplug.md
# Hotplug
In Kubernetes, pods are defined to be immutable, so it's not possible
to perform hotplug of devices in the same way as with the traditional
virtualization stack.
This limitation is a result of KubeVirt's guiding principle of
integrating with Kubernetes as much as possible and making VMs appear
the same as containers from the user's point of view.
There have been several attempts at lifting this restriction in
Kubernetes over the years, but they have all been unsuccessful so
far.
## Existing hotplug support
When working with containers, changing the amount of resources
associated with a pod will result in it being destroyed and a new
pod with the updated resource allocation being created in its place.
This works fine for containers, which are designed to be clonable and
disposable, but when it comes to VMs they usually can't be destroyed
on a whim and running multiple instances in parallel is generally not
wise even when possible.
## Possible workarounds
Until a proper hotplug API makes its way into Kubernetes, one
possible way to implement hotplug could be to perform migration to a
container compliant with the new allocation request, and only then
perform the QEMU-level hotplug operation.
next prev parent reply other threads:[~2020-09-16 16:52 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-16 16:44 [RFC DOCUMENT 00/12] kubevirt-and-kvm: Add documents Andrea Bolognani
2020-09-16 16:45 ` [RFC DOCUMENT 01/12] kubevirt-and-kvm: Add Index page Andrea Bolognani
2020-09-16 16:46 ` [RFC DOCUMENT 02/12] kubevirt-and-kvm: Add Components page Andrea Bolognani
2020-09-16 16:47 ` Andrea Bolognani [this message]
2020-09-16 16:48 ` [RFC DOCUMENT 04/12] kubevirt-and-kvm: Add Storage page Andrea Bolognani
2020-09-16 16:50 ` [RFC DOCUMENT 05/12] kubevirt-and-kvm: Add Networking page Andrea Bolognani
2020-09-16 16:51 ` [RFC DOCUMENT 06/12] kubevirt-and-kvm: Add Live Migration page Andrea Bolognani
2020-09-16 16:52 ` [RFC DOCUMENT 07/12] kubevirt-and-kvm: Add CPU Pinning page Andrea Bolognani
2020-09-16 16:53 ` [RFC DOCUMENT 08/12] kubevirt-and-kvm: Add NUMA " Andrea Bolognani
2020-09-16 16:54 ` [RFC DOCUMENT 09/12] kubevirt-and-kvm: Add Isolation page Andrea Bolognani
2020-09-16 16:55 ` [RFC DOCUMENT 10/12] kubevirt-and-kvm: Add Upgrades page Andrea Bolognani
2020-09-16 16:56 ` [RFC DOCUMENT 11/12] kubevirt-and-kvm: Add Backpropagation page Andrea Bolognani
2020-09-16 16:57 ` [RFC DOCUMENT 12/12] kubevirt-and-kvm: Add Contacts page Andrea Bolognani
2020-09-22 9:29 ` [RFC DOCUMENT 00/12] kubevirt-and-kvm: Add documents Philippe Mathieu-Daudé
2020-09-24 18:31 ` Andrea Bolognani
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=d4b52f7795a28023168bbf371b455afbcc7ef18d.camel@redhat.com \
--to=abologna@redhat.com \
--cc=crobinso@redhat.com \
--cc=libvir-list@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=rmohr@redhat.com \
--cc=vromanso@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).