14.2. 使用 Red Hat Quay UI 管理命名空间自动运行策略
命名空间自动运行策略使用 Red Hat Quay UI v2 创建。这可以在配置 Red Hat Quay config.yaml
文件后完成,以启用自动运行功能和 v2 UI。
使用 Red Hat Quay 传统 UI 时无法使用此功能。
14.2.1. 配置 Red Hat Quay 命名空间自动运行功能 复制链接链接已复制到粘贴板!
使用以下步骤配置 Red Hat Quay config.yaml
文件,以启用命名空间 auto-pruning 功能。
先决条件
-
您已在
config.yaml
文件中将FEATURE_UI_V2
设置为true
。
步骤
在 Red Hat Quay
config.yaml
文件中,添加和设置FEATURE_AUTO_PRUNE
环境变量为True
。例如:# ... FEATURE_AUTO_PRUNE: true # ...
# ... FEATURE_AUTO_PRUNE: true # ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
14.2.2. 使用 Red Hat Quay v2 UI 创建自动修剪策略 复制链接链接已复制到粘贴板!
使用以下步骤,使用 Red Hat Quay UI v2 创建自动修剪策略。
先决条件
-
您已启用了
FEATURE_AUTO_PRUNE
功能。
步骤
标记四个示例镜像,如
busybox
,它将推送到启用了 auto-pruning 的存储库。例如:podman tag docker.io/library/busybox <quay-server.example.com>/<quayadmin>/busybox:test
$ podman tag docker.io/library/busybox <quay-server.example.com>/<quayadmin>/busybox:test
Copy to Clipboard Copied! Toggle word wrap Toggle overflow podman tag docker.io/library/busybox <quay-server.example.com>/<quayadmin>/busybox:test2
$ podman tag docker.io/library/busybox <quay-server.example.com>/<quayadmin>/busybox:test2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow podman tag docker.io/library/busybox <quay-server.example.com>/<quayadmin>/busybox:test3
$ podman tag docker.io/library/busybox <quay-server.example.com>/<quayadmin>/busybox:test3
Copy to Clipboard Copied! Toggle word wrap Toggle overflow podman tag docker.io/library/busybox <quay-server.example.com>/<quayadmin>/busybox:test4
$ podman tag docker.io/library/busybox <quay-server.example.com>/<quayadmin>/busybox:test4
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输入以下命令将四个示例镜像(如
busybox
)推送到启用了 auto-pruning 的存储库:podman push <quay-server.example.com>/quayadmin/busybox:test
$ podman push <quay-server.example.com>/quayadmin/busybox:test
Copy to Clipboard Copied! Toggle word wrap Toggle overflow podman push <quay-server.example.com>/<quayadmin>/busybox:test2
$ podman push <quay-server.example.com>/<quayadmin>/busybox:test2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow podman push <quay-server.example.com>/<quayadmin>/busybox:test3
$ podman push <quay-server.example.com>/<quayadmin>/busybox:test3
Copy to Clipboard Copied! Toggle word wrap Toggle overflow podman push <quay-server.example.com>/<quayadmin>/busybox:test4
$ podman push <quay-server.example.com>/<quayadmin>/busybox:test4
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 检查您的存储库中是否有四个标签。
- 在 Red Hat Quay UI v2 上,单击导航窗格中的 Organizations。
-
选择您要将 auto-pruning 功能应用到的机构名称,如
test_organization
。 - 单击 Settings。
单击 Auto-Prune Policies。例如:
- 单击下拉菜单并选择所需的策略,例如,按标签数。
- 选择要保留所需的标签数量。默认情况下,这在 20 个标签中设置。在本例中,要保留的标签数量设置为 3。
点击 Save。收到以下警报: Successfully updated auto-prune 策略。
验证
导航到存储库的 Tags 页面。几分钟后,auto-pruner worker 会删除不再在所建立的标准中适合的标签。在本例中,它会删除
busybox:test
标签,并保留busybox:test2
、busybox:test3
和busybox:test4
标签。在标签被自动修剪后,它们进入 Red Hat Quay 时间机器或时间,在标签被删除后,标签可以在收集垃圾回收前访问。镜像标签的过期时间取决于您的机构设置。如需更多信息,请参阅 Red Hat Quay 垃圾回收。
14.2.3. 使用 Red Hat Quay API 创建自动修剪策略 复制链接链接已复制到粘贴板!
您可以使用 Red Hat Quay API 端点来管理组织的自动修剪策略。
先决条件
-
您已在
config.yaml
文件中设置BROWSER_API_CALLS_XHR_ONLY: false
。 - 您已创建了 OAuth 访问令牌。
- 您已登录到 Red Hat Quay。
步骤
输入以下
POST
命令创建一个新策略,该策略限制机构中允许的标签数:curl -X POST -H "Authorization: Bearer <access_token>" -H "Content-Type: application/json" -d '{
$ curl -X POST -H "Authorization: Bearer <access_token>" -H "Content-Type: application/json" -d '{ "method": "number_of_tags", "value": 10 }' http://<quay-server.example.com>/api/v1/organization/<quayadmin>/autoprunepolicy/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 另外,您可以在创建日期后将标签设置为在指定时间过期:
curl -X POST -H "Authorization: Bearer <access_token>" -H "Content-Type: application/json" -d '{
$ curl -X POST -H "Authorization: Bearer <access_token>" -H "Content-Type: application/json" -d '{ "method": "creation_date", "value": "7d" }' http://<quay-server.example.com>/api/v1/organization/<quayadmin>/autoprunepolicy/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
{"uuid": "73d64f05-d587-42d9-af6d-e726a4a80d6e"}
{"uuid": "73d64f05-d587-42d9-af6d-e726a4a80d6e"}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 尝试创建多个策略会返回以下错误:
{"detail": "Policy for this namespace already exists, delete existing to create new policy", "error_message": "Policy for this namespace already exists, delete existing to create new policy", "error_type": "invalid_request", "title": "invalid_request", "type": "http://<quay-server.example.com>/api/v1/error/invalid_request", "status": 400}
{"detail": "Policy for this namespace already exists, delete existing to create new policy", "error_message": "Policy for this namespace already exists, delete existing to create new policy", "error_type": "invalid_request", "title": "invalid_request", "type": "http://<quay-server.example.com>/api/v1/error/invalid_request", "status": 400}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输入以下命令检查您的自动修剪策略:
curl -X GET -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/organization/<quayadmin>/autoprunepolicy/
$ curl -X GET -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/organization/<quayadmin>/autoprunepolicy/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
{"policies": [{"uuid": "73d64f05-d587-42d9-af6d-e726a4a80d6e", "method": "creation_date", "value": "7d"}]}
{"policies": [{"uuid": "73d64f05-d587-42d9-af6d-e726a4a80d6e", "method": "creation_date", "value": "7d"}]}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您可以输入以下命令来删除自动修剪策略:
curl -X DELETE -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/organization/<quayadmin>/autoprunepolicy/
$ curl -X DELETE -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/organization/<quayadmin>/autoprunepolicy/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
14.2.4. 使用 API 为当前用户创建自动修剪策略 复制链接链接已复制到粘贴板!
您可以使用 Red Hat Quay API 端点来管理帐户的自动修剪策略。
在以下命令中使用 /user/
代表当前登录到 Red Hat Quay 的用户。
先决条件
-
您已在
config.yaml
文件中设置BROWSER_API_CALLS_XHR_ONLY: false
。 - 您已创建了 OAuth 访问令牌。
- 您已登录到 Red Hat Quay。
步骤
输入以下
POST
命令创建一个新策略,该策略限制当前用户的标签数:curl -X POST -H "Authorization: Bearer <access_token>" -H "Content-Type: application/json" -d '{
$ curl -X POST -H "Authorization: Bearer <access_token>" -H "Content-Type: application/json" -d '{ "method": "number_of_tags", "value": 10 }' http://<quay-server.example.com>/api/v1/user/autoprunepolicy/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
{"uuid": "8c03f995-ca6f-4928-b98d-d75ed8c14859"}
{"uuid": "8c03f995-ca6f-4928-b98d-d75ed8c14859"}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输入以下命令检查您的自动修剪策略:
curl -X GET -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/user/autoprunepolicy/8c03f995-ca6f-4928-b98d-d75ed8c14859
$ curl -X GET -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/user/autoprunepolicy/8c03f995-ca6f-4928-b98d-d75ed8c14859
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 或者,您可以包含 UUID:
curl -X GET -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/user/autoprunepolicy/8c03f995-ca6f-4928-b98d-d75ed8c14859
$ curl -X GET -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/user/autoprunepolicy/8c03f995-ca6f-4928-b98d-d75ed8c14859 {"uuid": "8c03f995-ca6f-4928-b98d-d75ed8c14859", "method": "number_of_tags", "value": 10}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
{"policies": [{"uuid": "8c03f995-ca6f-4928-b98d-d75ed8c14859", "method": "number_of_tags", "value": 10}]}
{"policies": [{"uuid": "8c03f995-ca6f-4928-b98d-d75ed8c14859", "method": "number_of_tags", "value": 10}]}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您可以输入以下命令删除自动修剪策略。请注意,删除策略需要 UUID。
curl -X DELETE -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/user/autoprunepolicy/8c03f995-ca6f-4928-b98d-d75ed8c14859
$ curl -X DELETE -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/user/autoprunepolicy/8c03f995-ca6f-4928-b98d-d75ed8c14859
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
{"uuid": "8c03f995-ca6f-4928-b98d-d75ed8c14859"}
{"uuid": "8c03f995-ca6f-4928-b98d-d75ed8c14859"}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow