第 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 的现有存储库和命名空间的大小,然后为在words 后推送或垃圾收集的每个镜像添加或减去。另外,在清单垃圾回收时,从总中减去总。
因为在收集清单时从总数中减去,所以大小计算中有一个延迟,直到能够收集垃圾回收为止。如需有关垃圾回收的更多信息,请参阅 Red Hat Quay 垃圾回收。
以下数据库表包含机构中 Red Hat Quay 存储库的配额存储库大小、配额命名空间大小和配额 registry 大小(以字节为单位):
-
QuotaRepositorySize
-
QuotaNameSpaceSize
-
QuotaRegistrySize
机构大小由回填 worker 计算,以确保它不会重复。初始化镜像推送时,会验证用户的机构存储,以检查它是否超出配置的配额限值。如果镜像推送超过定义的配额限制,则会出现软或硬检查:
- 对于软检查,用户会收到通知。
- 对于硬检查,推送将停止。
如果存储消耗在配置的配额限制内,则允许推送。
镜像清单删除遵循类似的流程,只要关联的镜像标签和清单之间的链接会被删除。另外,在镜像清单被删除后,存储库大小会在 QuotaRepositorySize
,QuotaNameSpaceSize
, 和 QuotaRegistrySize
表中重新计算和更新。