13.3. 在 Red Hat Quay UI 中建立配额


以下流程描述了如何报告存储消耗并建立存储配额限制。

先决条件

  • Red Hat Quay registry。
  • 超级用户帐户。
  • 有足够的存储以满足配额限制的要求。

流程

  1. 创建新机构或选择现有机构。最初,没有配置配额,可在 Organization Settings 标签页中看到:

    No Quota Configured

  2. 以超级用户身份登录注册表,再导航到 Super User Admin Panel 上的 Manage Organizations 选项卡。点击您要创建存储配额限制的机构的 Options 图标:

    Organization options

  3. 单击 Configure Quota,然后输入初始配额,如 10 MB。然后点击" 应用 "和 "关闭"

    Initial quota

  4. 检查超级用户面板中的 Manage Organizations 标签页上显示有 0 of 10 MB 的配额:

    Initial consumed quota

    消耗的配额信息也可以在机构页面中直接可用:

    初始消耗的配额

    Initial consumed quota

  5. 若要将配额增加到 100MB,可导航到超级用户面板中的 Manage Organizations 选项卡。单击 Options 图标并选择 Configure Quota,将配额设置为 100 MB。点 Apply,然后点 Close

    Increase quota

  6. 从命令行将示例镜像推送到机构:

    示例命令

    $ podman pull ubuntu:18.04
    
    $ podman tag docker.io/library/ubuntu:18.04 example-registry-quay-quay-enterprise.apps.docs.gcp.quaydev.org/testorg/ubuntu:18.04
    
    $ podman push --tls-verify=false example-registry-quay-quay-enterprise.apps.docs.gcp.quaydev.org/testorg/ubuntu:18.04

  7. 在超级用户面板中,显示每个机构使用的配额:

    Total Quota Consumed for first image

  8. Organization 页面中显示镜像使用的配额的总比例:

    第一镜像占配额总数

    Total Quota Consumed for first image

  9. 拉取、标记和推送第二个镜像,如 nginx

    示例命令

    $ podman pull nginx
    
    $ podman tag docker.io/library/nginx example-registry-quay-quay-enterprise.apps.docs.gcp.quaydev.org/testorg/nginx
    
    $ podman push --tls-verify=false example-registry-quay-quay-enterprise.apps.docs.gcp.quaydev.org/testorg/nginx

  10. Organization 页面中显示该机构中每个存储库使用的配额的总比例:

    每个软件仓库的配额总数

    Total Quota Consumed for each repository

  11. 创建 rejectwarning 限制:

    从超级用户面板中,导航到 Manage Organizations 选项卡。点机构的 Options 图标,然后选择 Configure Quota。在 Quota Policy 部分中,Action type 设置为 Reject,将 Quota Threshold 设置为 80,然后单击 Add Limit:

    Reject limit

  12. 要创建 警告 限制,选择 Warning 作为 Action 类型,将 Quota Threshold 设置为 70,然后单击 Add Limit:

    Warning limit

  13. 点弹出窗口中配额 关闭。在 Organization 页的 Settings 标签页中,这个限制可以被查看,但不能编辑:

    Quota policy in organization settings

  14. 推送超过 reject 限值的镜像:

    因为 reject 限制(80%)已设为低于当前存储库大小(~83%),所以下一次推送会自动被拒绝。

    镜像推送示例

    $ podman pull ubuntu:20.04
    
    $ podman tag docker.io/library/ubuntu:20.04 example-registry-quay-quay-enterprise.apps.docs.gcp.quaydev.org/testorg/ubuntu:20.04
    
    $ podman push --tls-verify=false example-registry-quay-quay-enterprise.apps.docs.gcp.quaydev.org/testorg/ubuntu:20.04

    超过配额时的输出示例

    Getting image source signatures
    Copying blob d4dfaa212623 [--------------------------------------] 8.0b / 3.5KiB
    Copying blob cba97cc5811c [--------------------------------------] 8.0b / 15.0KiB
    Copying blob 0c78fac124da [--------------------------------------] 8.0b / 71.8MiB
    WARN[0002] failed, retrying in 1s ... (1/3). Error: Error writing blob: Error initiating layer upload to /v2/testorg/ubuntu/blobs/uploads/ in example-registry-quay-quay-enterprise.apps.docs.gcp.quaydev.org: denied: Quota has been exceeded on namespace
    Getting image source signatures
    Copying blob d4dfaa212623 [--------------------------------------] 8.0b / 3.5KiB
    Copying blob cba97cc5811c [--------------------------------------] 8.0b / 15.0KiB
    Copying blob 0c78fac124da [--------------------------------------] 8.0b / 71.8MiB
    WARN[0005] failed, retrying in 1s ... (2/3). Error: Error writing blob: Error initiating layer upload to /v2/testorg/ubuntu/blobs/uploads/ in example-registry-quay-quay-enterprise.apps.docs.gcp.quaydev.org: denied: Quota has been exceeded on namespace
    Getting image source signatures
    Copying blob d4dfaa212623 [--------------------------------------] 8.0b / 3.5KiB
    Copying blob cba97cc5811c [--------------------------------------] 8.0b / 15.0KiB
    Copying blob 0c78fac124da [--------------------------------------] 8.0b / 71.8MiB
    WARN[0009] failed, retrying in 1s ... (3/3). Error: Error writing blob: Error initiating layer upload to /v2/testorg/ubuntu/blobs/uploads/ in example-registry-quay-quay-enterprise.apps.docs.gcp.quaydev.org: denied: Quota has been exceeded on namespace
    Getting image source signatures
    Copying blob d4dfaa212623 [--------------------------------------] 8.0b / 3.5KiB
    Copying blob cba97cc5811c [--------------------------------------] 8.0b / 15.0KiB
    Copying blob 0c78fac124da [--------------------------------------] 8.0b / 71.8MiB
    Error: Error writing blob: Error initiating layer upload to /v2/testorg/ubuntu/blobs/uploads/ in example-registry-quay-quay-enterprise.apps.docs.gcp.quaydev.org: denied: Quota has been exceeded on namespace

  15. 超过限制时,会在 UI 中显示通知:

    配额通知

    Quota notifications

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.