第 4 章 配置 Red Hat Quay
在将 Red Hat Quay 服务作为容器运行前,您需要使用相同的 Quay
容器来创建部署 Red Hat Quay 所需的配置文件(config.yaml
)。为此,您需要将 config
参数和一个密码 (在此替换 my-secret-password) 传递给 Quay
容器。之后,您可以使用该密码以 quayconfig
用户身份登录配置工具。
以下是如何执行此操作的示例:
在设置模式中启动 quay :在第一个 quay 节点上,运行以下命令:
sudo podman run --rm -it --name quay_config -p 8080:8080 registry.redhat.io/quay/quay-rhel8:v3.15.1 config my-secret-password
# sudo podman run --rm -it --name quay_config -p 8080:8080 registry.redhat.io/quay/quay-rhel8:v3.15.1 config my-secret-password
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 打开浏览器 :当 quay 配置工具启动时,打开浏览器到您要运行配置工具的系统 8080 的端口 8080 (例如 http://myquay.example.com:8080)。会提示您输入用户名和密码。
-
以 quayconfig 身份登录 :在提示时,输入
quayconfig
用户名和密码(podman run
命令行中的一个)。 - 填写所需字段 : 当您在不挂载现有配置捆绑包的情况下启动配置工具时,您将引导至初始设置会话。在设置会话中,会自动填写默认值。以下步骤将了解如何填写剩余的必填字段。
识别数据库 :对于初始设置,您必须包含有关 Red Hat Quay 使用的数据库类型和位置的以下信息:
- 数据库类型 :选择 MySQL 或 PostgreSQL。MySQL 将在基本示例中使用;PostgreSQL 与 OpenShift 示例上的高可用性 Red Hat Quay 一起使用。
- 数据库服务器 :识别数据库的 IP 地址或主机名,如果不是端口 3306,则标识其端口号。
- 用户名 :识别对数据库具有完全访问权限的用户。
- Password: 输入您分配给所选用户的密码。
- 数据库名称 :输入您在启动数据库服务器时分配的数据库名称。
SSL 证书 :对于生产环境,您应该提供 SSL 证书来连接数据库。
下图显示了用于标识 Red Hat Quay 使用的数据库的屏幕示例:
识别 Redis 主机名、服务器配置并添加其他所需的设置:您可以添加的其他设置 来完成设置,如下所示。针对基本部署的高可用性 Red Hat Quay 部署的更多设置:
- 对于基本测试配置,您需要确定 Redis 主机名都应该这样做。但是,您可以添加其他功能,如 Clair 扫描和存储库镜像,如此流程末尾的所述。
对于高可用性和 OpenShift 配置,需要更多设置(如下所示)以允许共享存储、系统之间的安全通信和其他功能。
以下是您需要考虑的设置:
自定义 SSL 证书 :上传自定义或自签名 SSL 证书以供 Red Hat Quay 使用。详情请参阅 使用 SSL 保护到 Red Hat Quay 的连接。建议高可用性。
重要对于基本和高可用性部署,建议使用 SSL 证书。如果您决定不使用 SSL,您必须将容器客户端配置为使用新的 Red Hat Quay 设置作为不安全的 registry,如 Test a Insecure Registry 所述。
- 基本配置 :上传公司徽标以重新品牌您的 Red Hat Quay registry。
服务器配置 :用于访问 Red Hat Quay 服务的主机名或 IP 地址以及 TLS 表示(在生产环境中安装推荐)。所有 Red Hat Quay 部署都需要 Server Hostname。TLS 终止可以通过两种不同的方式完成:
-
在实例本身上,带有由
Quay
容器中 nginx 服务器(推荐)管理的所有 TLS 流量。 - 在负载均衡器上。不建议这样做。如果在负载均衡器上没有正确完成 TLS 设置,则对 Red Hat Quay 的访问可能会丢失。
-
在实例本身上,带有由
- 数据一致性设置 :选择以放宽日志记录一致性保证,以提高性能和可用性。
- 时间机器 :允许旧的镜像标签保留在存储库中设定时间,并允许用户选择自己的标签过期时间。
- Redis: 标识主机名或 IP 地址(及可选密码)以连接到 Red Hat Quay 使用的 redis 服务。
- Repository Mirroring :选择 Enable Repository Mirroring 复选框。启用此项后,您可以在 Red Hat Quay 集群中创建仓库,该仓库从远程 registry 中镜像所选存储库。在启用存储库镜像前,启动存储库镜像 worker,如此流程中所述。
- Registry Storage: 标识存储的位置。各种云和本地存储选项可用。高可用性需要远程存储。如果您遵循 Red Hat Quay 高可用性存储的示例,请识别 Ceph 存储位置。在 OpenShift 上,示例使用 Amazon S3 存储。
- action Log Storage Configuration: Action 日志默认存储在 Red Hat Quay 数据库中。如果您有大量操作日志,可以让这些日志定向到 Elasticsearch 以便稍后进行搜索和分析。要做到这一点,将 Action Logs Storage 的值改为 Elasticsearch,并配置相关的设置,如 配置操作日志存储 中所述。
- 操作日志轮转和存档 :选择启用日志轮转,这会将超过 30 天的日志移到存储中,然后指明存储区域。
- 安全扫描器 :选择安全扫描程序端点和身份验证密钥来启用安全扫描。要设置 Clair 进行镜像扫描,请参阅 Clair 设置和配置 Clair。建议高可用性。
- 应用程序 Registry :启用包括 Kubernetes 清单或 Helm chart 等其他应用程序 registry (请参阅 App Registry 规格)。
-
rkt Conversion :允许使用
rkt fetch
从 Red Hat Quay registry 获取镜像。需要公共和私有 GPG2 密钥。此字段已弃用。 - 电子邮件 :启用用于通知和用户密码重置的电子邮件。
- 内部身份验证 :将 registry 的默认身份验证从本地数据库更改为 LDAP、Keystone (OpenStack)、JWT 自定义身份验证或外部应用令牌。
- 外部授权(OAuth) :允许 GitHub 或 GitHub Enterprise 向 registry 进行身份验证。
- Google Authentication: 启用 以允许 Google 向 registry 进行身份验证。
- 访问设置 :默认启用基本用户名/密码身份验证。可以启用的其他身份验证类型包括:外部应用令牌(与 docker 或 rkt 命令一起使用的用户生成的令牌)、匿名访问(启用对可进入注册表的任何人的公共访问权限)、用户创建(用户创建自己的帐户)、加密客户端密码(需要命令行用户访问包含加密密码),以及前缀用户名自动补全(不需要在自动完成时完全匹配)。
-
registry 协议设置 :保留启用了
Restrict V1 Push Support
复选框,以限制对 Docker V1 协议推送的访问。虽然红帽建议启用 Docker V1 push 协议,但如果确实允许,您必须明确将启用它的命名空间列入白名单。 - Dockerfile 构建支持 :允许允许用户构建并推送到 Red Hat Quay 的 Dockerfile。对于多租户环境,我们不推荐这样做。
验证更改 :选择
Validate Configuration Changes
。如果验证成功,您将会看到以下 Download Configuration 模态:-
下载配置 :选择
Download Configuration
按钮,并将 tarball (quay-config.tar.gz
)保存到本地目录,以便稍后使用以开始 Red Hat Quay。
此时,您可以关闭 Red Hat Quay 配置工具并关闭浏览器。接下来,将 tarball 文件复制到您要安装第一个 Red Hat Quay 节点的系统中。对于基本安装,您可能只在同一系统上运行 Red Hat Quay。