第 1 章 高级 Red Hat Quay 配置
您可以使用以下接口之一在初始部署后配置 Red Hat Quay:
-
Red Hat Quay 配置工具.使用这个工具,在以配置模式运行 Quay 容器时,提供了一个用于配置 Red Hat
Quay
集群的 Web 界面。建议此方法配置 Red Hat Quay 服务。
-
编辑
config.yaml
。config.yaml
文件包含 Red Hat Quay 集群的大部分配置信息。可以直接编辑config.yaml
文件,但只建议通过 Config Tool 不提供的高级调优和性能功能。 - Red Hat Quay API。一些 Red Hat Quay 功能可以通过 API 配置。
本节中的此内容论述了如何使用上述每个接口以及如何使用高级功能配置部署。
1.1. 使用 Red Hat Quay Config Tool 修改 Red Hat Quay
Red Hat Quay Config Tool 可以在 config
模式下运行 Quay
容器以及常规的 Red Hat Quay 服务来提供。
使用以下部分从 Red Hat Quay Operator 运行 Config Tool,或者从命令行界面(CLI)在主机系统上运行 Config Tool。
1.1.1. 从 Red Hat Quay Operator 运行 Config Tool
在 OpenShift Container Platform 上运行 Red Hat Quay Operator 时,Config Tool 就可以使用。使用以下步骤访问 Red Hat Quay Config Tool。
先决条件
- 您已在 OpenShift Container Platform 上部署了 Red Hat Quay Operator。
过程.
-
在 OpenShift 控制台中,选择 Red Hat Quay 项目,如
quay-enterprise
。 在导航窗格中,选择 Networking → Routes。您应该会看到指向 Red Hat Quay 应用程序和配置工具的路由,如以下镜像所示:
-
选择指向 Config Tool 的路由,例如
example-quayecosystem-quay-config
。在浏览器中应打开 Config Tool UI。 为这个集群选择 Modify configuration 来调出 Config Tool 设置,例如:
- 进行所需的更改,然后选择 Save Configuration Changes。
- 单击 Continue Editing,或者选择 Next 以继续操作。
-
出现提示时,选择 Download Configuration。这将下载新
config.yaml
的 tarball,以及 Red Hat Quay 设置中使用的任何证书和密钥。config.yaml
可用于对您的配置进行高级更改,或将其用作未来参考。 - 选择 Go to deployment rollout → 将配置分配到部署。等待 Red Hat Quay Pod 重启以使更改生效。
1.1.2. 从命令行运行 Config Tool
如果您从主机系统运行 Red Hat Quay,您可以使用以下步骤在初始部署后更改配置。
先决条件
-
已安装
podman
或docker
。
-
已安装
- 以配置模式启动 Red Hat Quay。
在第一个
Quay
节点上输入以下命令:$ podman run --rm -it --name quay_config -p 8080:8080 \ -v path/to/config-bundle:/conf/stack \ {productrepo}/{quayimage}:{productminv} config <my_secret_password>
注意要修改现有的配置捆绑包,您可以将配置目录挂载到
Quay
容器中。-
当 Red Hat Quay 配置工具启动时,打开浏览器并导航到配置文件中使用的 URL 和端口,如
quay-server.example.com:8080
。 - 输入您的用户名和密码。
- 根据需要修改 Red Hat Quay 集群。
1.1.3. 使用 TLS 证书部署配置工具
您可以通过将环境变量传递给运行时变量,使用安全 TLS 证书部署配置工具。这样可确保对数据库和存储后端的凭据等敏感数据受到保护。
公钥和私钥必须包含您部署配置工具的路由的有效 Subject Alternative Names (SAN)。
可以使用 CONFIG_TOOL_PRIVATE_KEY
和 CONFIG_TOOL_PUBLIC_KEY
指定路径。
如果您从容器运行部署,则 CONFIG_TOOL_PRIVATE_KEY
和 CONFIG_TOOL_PUBLIC_KEY
数值是容器内的证书位置。例如:
$ podman run --rm -it --name quay_config -p 7070:8080 \ -v ${PRIVATE_KEY_PATH}:/tls/localhost.key \ -v ${PUBLIC_KEY_PATH}:/tls/localhost.crt \ -e CONFIG_TOOL_PRIVATE_KEY=/tls/localhost.key \ -e CONFIG_TOOL_PUBLIC_KEY=/tls/localhost.crt \ -e DEBUGLOG=true \ -ti config-app:dev