红帽 Quay- 配置镜像代理缓存
《OpenShift / RHEL / DevSecOps 汇总目录》
说明:本文已经在 Quay 3.12 环境中验证
说明:可先根据《红帽 Quay - 安装篇》完成 Quay 安装。
镜像代理缓存功能
Quay 的镜像代理缓存功能可以将用户拉取的远程镜像保存到本地 Quay 的 proxy cache 中,这样以后再向 Quay 访问这个镜像就可以直接从 proxy cache 获得了。
在实际使用时可以将 Quay 部署在可上网区,而其它使用镜像的环境可都运行在网络隔离区。这样不但可以统一向隔离区提供镜像,还可以使用 proxy cache 提升对外部镜像的访问效率。
配置镜像代理缓存
- 在 Quay 的 config.yaml 中添加以下配置。
FEATURE_PROXY_CACHE: true
- 然后重启 Quay。
$ podman restart quay
- 在 Quay 控制台中创建一个组织,例如:redhat-cache。
- 在组织里参照下图创建一个 Robot Account。
- 在组织中的 Team 里参照下图将 redhat-cache-robot 加入到 Team。
- 在组织的 Settings 里参照下图配置 Proxy Cache。
- 用 redhat-cache+robot 账户登录 Quay,然后从拉取一个镜像。
$ podman login -u redhat-cache+robot quay-server.example.com --tls-verify=false
$ podman pull quay-server.example.com/redhat-cache/ubi8/ubi-minimal:8.10-1052 --tls-verify=false
Trying to pull quay-server.example.com/redhat-cache/ubi8/ubi-minimal:8.10-1052...
Getting image source signatures
Copying blob 5ac50b59589f done
Copying config 7d16c69728 done
Writing manifest to image destination
Storing signatures
7d16c69728ba6bf41e5ca9486aa9b34f540d95bac3626d190cf85caaa1366b52
- 确认拉取的镜像 ubi-minimal 已经保存在组织中了。
参考
https://docs.redhat.com/en/documentation/red_hat_quay/3.8/html/use_red_hat_quay/quay-as-cache-proxy#red-hat-quay-proxy-cache-procedure
https://access.redhat.com/solutions/7003470