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 值。

流程

  1. 通过编辑 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-launcher pod 的总内存消耗的硬限制。这个限制必须考虑客户机操作系统 RAM 加上 hypervisor 开销。

    这个示例配置被支持,因为 spec.template.spec.domain.resources.limits.memory 值至少比 spec.template.spec.domain.memory.guest 值大 100Mi

  2. 保存 VirtualMachine 清单。
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部