13.3. 在 Red Hat Quay UI 中建立配额
以下流程描述了如何报告存储消耗并建立存储配额限制。
先决条件
- Red Hat Quay registry。
- 超级用户帐户。
- 有足够的存储以满足配额限制的要求。
流程
创建新机构或选择现有机构。最初,没有配置配额,可在 Organization Settings 标签页中看到:
以超级用户身份登录注册表,再导航到 Super User Admin Panel 上的 Manage Organizations 选项卡。点击您要创建存储配额限制的机构的 Options 图标:
单击 Configure Quota,然后输入初始配额,如 10 MB。然后点击" 应用 "和 "关闭" :
检查超级用户面板中的 Manage Organizations 标签页上显示有 0 of 10 MB 的配额:
消耗的配额信息也可以在机构页面中直接可用:
初始消耗的配额
若要将配额增加到 100MB,可导航到超级用户面板中的 Manage Organizations 选项卡。单击 Options 图标并选择 Configure Quota,将配额设置为 100 MB。点 Apply,然后点 Close :
从命令行将示例镜像推送到机构:
示例命令
$ 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
在超级用户面板中,显示每个机构使用的配额:
Organization 页面中显示镜像使用的配额的总比例:
第一镜像占配额总数
拉取、标记和推送第二个镜像,如
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
Organization 页面中显示该机构中每个存储库使用的配额的总比例:
每个软件仓库的配额总数
创建 reject 和 warning 限制:
从超级用户面板中,导航到 Manage Organizations 选项卡。点机构的 Options 图标,然后选择 Configure Quota。在 Quota Policy 部分中,Action type 设置为 Reject,将 Quota Threshold 设置为 80,然后单击 Add Limit:
要创建 警告 限制,选择 Warning 作为 Action 类型,将 Quota Threshold 设置为 70,然后单击 Add Limit:
点弹出窗口中配额 关闭。在 Organization 页的 Settings 标签页中,这个限制可以被查看,但不能编辑:
推送超过 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
超过限制时,会在 UI 中显示通知:
配额通知