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