$ oc annotate namespace my-virtualization-project alpha.kubevirt.io/auto-memory-limits-ratio=1.2
Create and manage resource quotas for virtual machines.
By default, OKD Virtualization automatically manages CPU and memory limits for virtual machines (VMs) if a namespace enforces resource quotas that require limits to be set. The memory limit is automatically set to twice the requested memory and the CPU limit is set to one per vCPU.
You can customize the memory limit ratio for a specific namespace by adding the alpha.kubevirt.io/auto-memory-limits-ratio
annotation to the namespace. For example, the following command sets the memory limit ratio to 1.2:
$ oc annotate namespace my-virtualization-project alpha.kubevirt.io/auto-memory-limits-ratio=1.2
Avoid managing resource quota limits manually. To prevent misconfigurations or scheduling issues, rely on the automatic resource limit management provided by OKD Virtualization unless you have a specific need to override the defaults. |
Resource quotas that only use requests automatically work with VMs. If your resource quota uses limits, you must manually set resource limits on VMs. Resource limits must be at least 100 MiB larger than resource requests.
Set limits for a VM by editing the VirtualMachine
manifest. For example:
apiVersion: kubevirt.io/v1
kind: VirtualMachine
metadata:
name: with-limits
spec:
runStrategy: Halted
template:
spec:
domain:
# ...
resources:
requests:
memory: 128Mi
limits:
memory: 256Mi (1)
1 | This configuration is supported because the limits.memory value is at least 100Mi larger than the requests.memory value. |
Save the VirtualMachine
manifest.