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