Pausing and Resuming a Virtual Machine
Pausing a virtual machine freezes its CPU and memory state without releasing resources or losing data — the workload is paused until you resume it. Use it to temporarily yield host scheduling or to freeze a virtual machine for inspection and forensics.
Pause and resume act on the virtual machine instance through the KubeVirt pause / unpause subresources (subresources.kubevirt.io/v1); they do not add any CRD.
Notes
- Pause applies to a Running virtual machine; Resume applies to a Paused one.
- Pausing does not release CPU/memory and does not lose the in-memory state — the guest workload is simply paused.
- Pausing is a disruptive action (the workload is interrupted until you resume), so the console asks for confirmation. Resuming is a safe action and takes effect directly, without confirmation.
- Permission: requires the
updateverb onvirtualmachineinstances.
Pause a virtual machine
Use virtctl, which issues an empty-body PUT to the virtual machine instance's pause subresource:
The underlying request is:
After it succeeds, the virtual machine instance carries the condition Paused=True (reason PausedByUser) and VirtualMachine.status.printableStatus becomes Paused. Pausing an already-paused virtual machine returns 409 Conflict.
Resume a virtual machine
The underlying request is:
VirtualMachine.status.printableStatus returns to Running. Resuming a virtual machine that is not paused returns 409 Conflict.