第 14 章 Red Hat Quay 配额管理和强制概述

使用 Red Hat Quay,用户可以通过建立配置的存储配额限制来报告存储消耗并包含 registry 增长。内部 Red Hat Quay 用户现在带有以下功能来管理其环境的容量限制:

  • 配额报告: 有了此功能,超级用户可以跟踪其所有组织的存储消耗。另外,用户可以跟踪其分配的机构的存储消耗。
  • 配额管理: 有了此功能,超级用户可以为 Red Hat Quay 用户定义软和硬检查。软检查告知用户是否有机构的存储消耗达到其配置的阈值。硬检查可防止用户在存储消耗达到配置的限制时推送到 registry。

这些功能一起允许 Red Hat Quay registry 的服务所有者定义服务级别协议并支持健康的资源预算。

14.1. 配额管理架构

启用配额管理功能后,单独的 blob 大小在存储库和命名空间级别总和。例如,如果同一存储库中的两个标签引用同一 blob,则该 Blob 的大小仅计算为仓库总计一次。另外,清单列表总数计算为存储库总计。

重要

因为清单列表总数被计算为仓库总计,所以从以前的 Red Hat Quay 版本升级时消耗的总配额可能会在 Red Hat Quay 3.9 中被报告不同。在某些情况下,新总数可能会超过存储库的之前设置的限制。Red Hat Quay 管理员可能需要调整存储库所分配的配额,以考虑这些更改。

配额管理功能的工作原理是,使用回填 worker 计算现有存储库和命名空间的大小,然后从总镜像添加或减去,这些镜像被推送或垃圾收集到每个镜像。另外,在收集清单时,从总的减法中减去。

注意

因为减法发生在清单垃圾回收时的总数,所以大小计算会有一个延迟,直到它能够收集垃圾回收为止。有关垃圾回收的更多信息,请参阅 Red Hat Quay 垃圾回收

以下数据库表包含机构中 Red Hat Quay 仓库的配额存储库大小、配额命名空间大小和配额 registry 大小(以字节为单位):

  • QuotaRepositorySize
  • QuotaNameSpaceSize
  • QuotaRegistrySize

组织大小由回填 worker 计算,以确保不会重复。初始化镜像推送时,用户的机构存储会被验证,以检查它是否超过配置的配额限制。如果镜像推送超过定义的配额限制,则会出现软或硬检查:

  • 对于软检查,会通知用户。
  • 对于硬检查,会停止推送。

如果存储消耗在配置的配额限制中,则允许推送继续进行。

镜像标签删除遵循类似的流,其中删除关联的镜像标签和清单之间的链接。另外,在镜像清单被删除后,会在 QuotaRepositorySizeQuotaNameSpaceSizeQuotaRegistrySize 表中重新计算和更新存储库大小。