本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。

项目资源配额

在多个团队共享一个集群的情况下,某个团队可能会过度消耗可用资源:CPU、内存、存储、服务、Kubernetes 对象如 pods 或 secrets 等。 为了防止这种过度消耗,您可以应用一个_资源配额_,这是 Rancher 的一项功能,限制项目或名称空间可用的资源。

本页面是关于在现有项目中创建资源配额的操作指南。

在创建新项目时也可以设置资源配额。有关详细信息,请参阅创建新项目部分。

Rancher 中的资源配额具有与 Kubernetes 原生版本相同的功能。在 Rancher 中,资源配额已扩展,以便您可以将其应用于项目。有关资源配额如何与 Rancher 中的项目一起工作的详细信息,请参阅此页面

将资源配额应用于现有项目

在以下情况下编辑资源配额:

  • 您希望限制项目及其名称空间可以使用的资源。

  • 您希望在资源配额已生效时,调整项目可用资源的规模。

    1. 在左上角,点击 ☰ > 集群管理

    2. 在*集群*页面上,转到您想要应用资源配额的集群并点击*浏览*。

    3. 单击集群  项目/名称空间

    4. 确保*项目/名称空间*页面处于*按项目分组*视图模式。 image::edit-project-config-for-resource-quotas-group-by-project.png[截图突出显示“按项目分组”图标, above the list of projects. It resembles a folder.]

    5. 找到您想要添加资源配额的项目,并选择与项目名称在同一行的*⋮*。 image::edit-project-config-for-resource-quotas-dots.png[截图突出显示与项目名称在同一行末尾的三个点图标。]

    6. 选择 编辑配置

    7. 展开*资源配额*并点击*添加资源*。或者,您可以编辑现有资源配额。

    8. 选择资源类型。有关类型的更多信息,请参见配额类型参考。

    9. 输入*项目限制*和*名称空间默认限制*的值。

      字段 说明

      项目限制

      项目的整体资源限制。

      名称空间默认限制

      每个名称空间可用的默认资源限制。此限制会传播到项目中的每个名称空间。所有项目名称空间的组合限制不应超过项目限制。

    10. *可选:*添加更多配额。

    11. 单击*创建*。

*结果:*资源配额适用于您的项目和名称空间。当您在未来添加更多名称空间时,Rancher会验证项目是否可以容纳该名称空间。如果项目无法分配资源,您仍然可以创建名称空间,但它们将被分配0的资源配额。随后,Rancher将不允许您创建任何受此配额限制的资源。

高级:超出基本资源配额范围

在*编辑配置*的*资源类型*下拉列表中列出的资源配额集是有限的。对于该集合之外的配额,请使用*编辑配置*和*添加资源*,如前所述,并选择*自定义*作为资源类型。这将启用编辑字段*资源标识符*以输入必要的标识符。一些标识符的示例包括:

  • requests.nvidia.com/gpu

  • gold.storageclass.storage.k8s.io/requests.storage

  • count/podtemplates

虽然可以指定`Custom`,这些指的是基本内置集中的配额,但目前*强烈*建议为这些配额使用内置字段。此外,在发生冲突的情况下,即在其内置字段和通过`Custom`指定资源配额时,内置字段中的数据具有优先权,而`Custom`中的数据将被忽略。