9.17. 高级虚拟机管理
9.17.1. 为虚拟机使用资源配额 复制链接链接已复制到粘贴板!
为虚拟机创建和管理资源配额。
9.17.1.1. 为虚拟机设置资源配额限制 复制链接链接已复制到粘贴板!
默认情况下,如果命名空间强制实施需要限制的资源配额,OpenShift Virtualization 会自动管理虚拟机的 CPU 和内存限值。内存限制自动设置为请求的内存的两倍,并且 CPU 限制设置为每个 vCPU 中的一个。
您可以通过将 alpha.kubevirt.io/auto-memory-limits-ratio 标签添加到命名空间来自定义特定命名空间的内存限值比率。例如,以下命令将内存限制比率设置为 1.2:
$ oc label ns/my-virtualization-project alpha.kubevirt.io/auto-memory-limits-ratio=1.2
避免手动管理资源配额限制。要防止错误配置或调度问题,请依赖 OpenShift Virtualization 提供的自动资源限制管理,除非您有特定需要覆盖默认值。
仅使用请求自动用于虚拟机的资源配额。如果您的资源配额使用限制,则必须为虚拟机手动设置资源限值。内存资源限制(由 spec.template.spec.domain.resources.limits.memory 值定义)必须至少为 500 MiB,或者 2% 大于 spec.template.spec.domain.memory.guest 值。
流程
通过编辑
VirtualMachine清单来为虚拟机设置限值。例如:apiVersion: kubevirt.io/v1 kind: VirtualMachine metadata: name: with-limits spec: runStrategy: Halted template: spec: domain: memory: guest: 128Mi resources: limits: memory: 256Mi其中
- spec.template.spec.domain.memory.guest
- 指定虚拟机中与客户机操作系统(OS)显示的实际 RAM 量。
- spec.template.spec.domain.resources.limits.memory
指定托管虚拟机的
virt-launcherpod 的总内存消耗的硬限制。这个限制必须考虑客户机操作系统 RAM 加上 hypervisor 开销。这个示例配置被支持,因为
spec.template.spec.domain.resources.limits.memory值至少比spec.template.spec.domain.memory.guest值大100Mi。
-
保存
VirtualMachine清单。