第 8 章 配额管理架构
启用配额管理功能后,单个 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
表中重新计算和更新。