Red Hat Quay 发行注记

Red Hat Quay 3

Red Hat Quay

Red Hat OpenShift Documentation Team

摘要

Red Hat Quay 发行注记

前言

Red Hat Quay 容器 registry 平台为任何基础架构上的容器和云原生工件提供安全存储、分发和管理。它可作为独立组件或 OpenShift Container Platform 上的 Operator 提供。Red Hat Quay 包括以下功能和优点:

  • 粒度安全管理
  • 任何规模快速、强大
  • High velocity CI/CD
  • 自动化安装及启动
  • 企业身份验证和基于团队的访问控制
  • OpenShift Container Platform 集成

Red Hat Quay 会定期发布,包括新功能、程序错误修正和软件更新。要为独立和 OpenShift Container Platform 部署升级 Red Hat Quay,请参阅升级 Red Hat Quay

重要

Red Hat Quay 只支持回滚到以前的 z-stream 版本,如 3.7.2 → 3.7.1。不支持回滚到以前的 y-stream 版本(3.7.0 → 3.6.0)。这是因为 Red Hat Quay 更新可能包含在升级到 Red Hat Quay 的新版本时应用的数据库 schema 升级。数据库架构升级不被视为向后兼容。

基于 Operator 的部署或基于虚拟机的部署不支持降级到以前的 z-streams。降级应只在极端情况下进行。回滚 Red Hat Quay 部署的决定必须与 Red Hat Quay 支持和开发团队一起做出。如需更多信息,请联系红帽 Quay 支持。

Red Hat Quay 的文档会随每个发行版本一起版本。最新的 Red Hat Quay 文档可在 Red Hat Quay 文档 页面获得。目前,版本 3 是最新的主版本。

注意

在版本 2.9.2 之前,Red Hat Quay 被称为 Quay Enterprise。2.9.2 及之前的版本的文档在 Red Hat Quay 2.9 产品文档中 存档。

第 1 章 RHBA-2022:3256 - Red Hat Quay 3.9.0 发行版本

2023 年 8 月 14 日发布

Red Hat Quay release 3.9.0 现在包括在 Clair 4.7 中。此更新包括的程序错误修正信息包括在 RHBA-2023:3256 公告中。

1.1. Red Hat Quay 发行节奏

在下一个 Red Hat Quay 版本 3.10 版本中,产品将开始将其发行节奏和生命周期与 OpenShift Container Platform 保持一致。因此,Red Hat Quay 3.10 在 OpenShift Container Platform 4.14 发行版本大约四个周内提供,该版本目前会在 2024 年初发布。

使用当前的发行版本模型时,Red Hat Quay 3.8 和 Red Hat Quay 3.9 的总支持长度会很短,因为 Red Hat Quay 3.10 的发布早于之前的版本。为了为客户提供适当的时间准备更新,Red Hat Quay 3.8 和 Red Hat Quay 3.9 的全面支持和维护阶段已超出 Red Hat Quay 3.10 的发布。这是一次修改的时间。在 Red Hat Quay 3.10 和后续发行版本发布后,客户可以期望 Red Hat Quay 的支持生命周期阶段与 OpenShift Container Platform 版本保持一致。

如需更多信息,请参阅 Red Hat Quay 生命周期政策

1.2. Red Hat Quay 的新功能和增强

对 Red Hat Quay 进行了以下更新:

1.2.1. 在地理复制环境中删除单个站点

Red Hat Quay 管理员现在可以从其地理复制环境中删除特定的站点。

如需更多信息,请参阅从 Red Hat Quay Operator 部署中删除地理复制站点

1.2.2. 配额管理增强

  • 在 Red Hat Quay 3.9 之前,配额管理功能通过在存储库和命名空间级别合并清单大小来创建总计。这会产生一个问题,其中单个 blob 可以计算总计多次。例如,在以前的 Red Hat Quay 版本中,如果在仓库和命名空间中多次引用 blob,则 Blob 每次被引用时都计入分配的配额。

    在这个版本中,单个 blob 大小在仓库和命名空间级别的总和。例如,如果同一存储库中的两个标签引用同一 blob,则该 Blob 的大小现在只计算为仓库总计一次。对配额管理功能的这个增强的工作原理是,使用回填 worker 计算现有存储库和命名空间的大小,然后为每个被推送或垃圾收集的每个镜像添加或减去。另外,当清单被垃圾回收时,从总数中减去,而在删除标签时会出现这种情况。

    注意

    因为减法发生在清单垃圾回收时的总数,所以大小计算会有一个延迟,直到它能够收集垃圾回收为止。有关 Red Hat Quay 垃圾回收的更多信息,请参阅 Red Hat Quay 垃圾回收

    另外,清单列表总数现在计算为仓库总计,从以前的 Red Hat Quay 版本升级时消耗的配额总量在 Red Hat Quay 3.9 中可能会不同。在某些情况下,新总数可能会超过存储库的之前设置的限制。Red Hat Quay 管理员可能需要调整存储库所分配的配额,以考虑这些更改。

    在 Red Hat Quay 3.9 中,Red Hat Quay 3.9 中的配额管理功能提供了更准确的存储增长和 registry 消耗的信息。因此,用户可以根据 Red Hat Quay 的实际使用,将配额限制放在命名空间和存储库大小上。

    如需更多信息,请参阅 Red Hat Quay 3.9 的配额管理

1.2.3. 为 Splunk 配置操作日志存储

在这个版本中,Red Hat Quay 管理员可以将日志转发到 Splunk 部署。这样,管理员可以执行日志分析并卸载内部数据库。

如需更多信息,请参阅为 Splunk 配置操作日志存储

1.2.4. Red Hat Quay UI v2 的改进

在 Red Hat Quay 3.8 中,一个新的 UI 作为技术预览。在 Red Hat Quay 3.9 中,对 UI v2 进行了以下改进:

  • 机器人帐户创建选项卡。
  • 机构设置标签页。
  • 镜像标签选项卡。
  • Repository 设置的选项卡。
  • 概述、安全报告和软件包漏洞报告。

有关 UI v2 启用的更多信息,请参阅使用 Red Hat Quay v2 UI

1.2.5. Nutanix Object Storage

在这个版本中,支持 Nutanix Object Storage。如需更多信息,请参阅 Nutanix Object Storage

1.3. 新的 Red Hat Quay 配置字段

在 Red Hat Quay 3.9 中添加了以下配置字段:

  • 在配额管理功能中添加了以下配置字段:

    • QUOTA_BACKFILL :启用配额回填工作程序来计算预先存在的 Blob 的大小。由于此参数总结了数据库中重复数据删除的总数据,所以可能会增加数据库负载。

      默认:True

    • QUOTA_TOTAL_DELAY_SECONDS :开始配额回填的时间延迟。滚动部署可能会导致总部署不正确。此字段 必须设置为 超过滚动部署完成所需的时间。

      默认 :1800

    • PERMANENTLY_DELETE_TAGS :启用与从时间窗中删除标签相关的功能。

      默认False

    • RESET_CHILD_MANIFEST_EXPIRATION :重置以子清单为目标的临时标签的过期时间。将这个功能设置为 True 时,子清单会立即收集垃圾回收。

      默认False

如需更多信息,请参阅 Red Hat Quay 3.9 的配置更新

  • 添加了以下配置字段来增强 Red Hat Quay 安全扫描程序功能:

    • FEATURE_SECURITY_SCANNER_NOTIFY_ON_NEW_INDEX: 是否允许发送有关新推送的漏洞的通知。

      默认:True

      如需更多信息,请参阅 安全扫描程序配置字段

  • 添加了以下配置字段来配置 Red Hat Quay 是否在从 3.8 → 3.9 升级时自动删除旧的持久性卷声明(PVC):

    • POSTGRES_UPGRADE_RETAIN_BACKUP :设置为 True 时,从 PostgreSQL 10 备份的持久性卷声明。

      默认False

1.4. Red Hat Quay Operator

为 Red Hat Quay Operator 进行了以下更新:

  • 目前,Red Hat Quay Operator 和 Clair 使用 PostgreSQL 10。PostgreSQL 10 在 2022 年 11 月 10 日有其最终发行版本,不再被支持。

    在这个版本中,如果您的数据库由 Red Hat Quay Operator 管理,从 Red Hat Quay 3.8 → 3.9 更新会自动处理将 PostgreSQL 10 升级到 PostgreSQL 13。

    重要

    需要具有受管数据库的用户从 10 → 13 升级其 PostgreSQL 数据库。

    如果您不希望 Red Hat Quay Operator 从 10 → 13 升级 PostgreSQL 部署,则必须在 quayregistry.yaml 文件中将 PostgreSQL 参数设置为 managed: false。有关将数据库设置为非受管的更多信息,请参阅使用现有的 Postgres 数据库

    重要
    • 强烈建议您升级到 PostgreSQL 13。PostgreSQL 10 在 2022 年 11 月 10 日有其最终发行版本,不再被支持。如需更多信息,请参阅 PostgreSQL 版本策略

    如果您希望 PostgreSQL 数据库与 Red Hat Enterprise Linux (RHEL)系统相同的版本匹配,请参阅 迁移到 RHEL 8 的 RHEL 8 版本的 PostgreSQL或迁移到 RHEL 9 的 RHEL 9 版本

如需有关 Red Hat Quay 3.8 → 3.9 流程的更多信息,请参阅升级 Red Hat Quay Operator 概述

1.5. Red Hat Quay 3.9 已知的问题和限制

以下小节介绍了 Red Hat Quay 3.9 的已知问题和限制。

1.5.1. 已知问题:

1.5.1.1. 升级已知问题

升级 Red Hat Quay 部署时有两个已知的问题:

  • 如果您的 Red Hat Quay 部署从一个 y-stream 升级到下一个(例如从 3.8.10 → 3.8.11),则不得将升级频道从 stable-3.8 切换到 stable-3.9。在 y-stream 升级过程中更改升级频道将不允许 Red Hat Quay 升级到 3.9。这是一个已知问题,并将在以后的 Red Hat Quay 版本中解决。
  • 当从 Red Hat Quay 3.7 升级到 3.9 时,您可能会收到以下错误: pg_dumpall: error: query failed: ERROR: xlog flush request 1/B446CCD8 不满足 --- flushed to 1/B0013858。这个问题的一个临时解决方案是,您可以在 OpenShift Container Platform 部署中删除 quayregistry-clair-postgres-upgrade 作业,这应该解决这个问题。

1.5.1.2. 其他已知问题

  • 使用 conftest pull 命令获取策略可能会返回以下错误: Error: download policies: client get: stat /policy/quay-quay-enterprise-847.apps.quaytest-847.qe.devcluster.openshift.com/conftest/policy:latest: no such file or directory.作为临时解决方案,您可以在 registry 主机上添加 oci:// 前缀。例如:

    $ conftest pull oci://mkoktest.quaydev.org/admin/conftest:v1

    这是一个已知问题,并将在以后的 Red Hat Quay 版本中解决。(PROJQUAY-5573)

  • Red Hat Quay 3.9 引入了对配额管理功能的更改。其中一个变化是时间窗中的标签现在计算您的机构的配额总数。

    当代理缓存功能在具有 硬配额 检查和机器设置设置的一个新机构中配置时 存在一个已知问题。在总和中,代理机构中的标签都给出一个标签过期时间,默认为 1 天。如果您的代理机构在您的机构设置下有一个时间机器策略设置为超过 几秒钟 的时间,且标签过期,则它不会立即可用于垃圾回收;它必须等到可以垃圾回收前的时间窗之外。因为垃圾回收时出现减法,并且修剪的标签保存在您的机构设置分配的时间范围内,所以镜像标签不会立即收集。这会导致配额消耗指标没有被更新,并运行代理机构通过分配的配额带来的风险。

    当为代理机构配置了硬配额检查时,Red Hat Quay 管理员将希望在时间窗内回收标签所占用的空间,以防止组织达到其分配的配额。作为临时解决方案,您可以在 Red Hat Quay UI 上的 OrganizationsSettings 下将代理机构的时间机器过期时间设置为 几秒钟。这会立即删除镜像标签,并允许更准确的配额消耗指标。

    这是使用软配额检查的代理机构的非签发,并可以被忽略。

  • 从地理复制的 Red Hat Quay 部署中删除站点时,在运行 python -m util.removelocation:/app/lib/python3.9/site-packages/tzlocal/unix.py:141: SyntaxWarning: "is not" with a literal.您意味着 "!="? while start is not 0: /app/lib/python3.9/site-packages/netaddr/strategy/{}init{}.py:189: SyntaxWarning: "is not" with a literal。您是否意味着 "!="? if word_sep is not ''.您可以通过输入 y 来确认删除您的站点。此错误是一个已知问题,将在以后的 Red Hat Quay 版本中删除。

1.5.2. Red Hat Quay 3.9 限制

  • 您必须使用 Splunk UI 查看 Red Hat Quay 操作日志。目前,在 Red Hat Quay Usage Logs 页面中查看 Splunk 操作日志不受支持,并返回以下信息: Method not implemented。Splunk 不支持日志查找

1.6. Red Hat Quay 程序错误修复

  • 在以前的版本中,在 Red Hat Quay 轻量级目录访问协议(LDAP)部署中,存在一个错误,禁止在团队同步和其他情况下使用引用。在这个版本中,Red Hat Quay 可以全局关闭引用,以确保所有组件都有正确的行为。
  • PROJQUAY-4614.将 conftest mediatypes 添加到默认的 Quay 配置中。
  • PROJQUAY-4865.删除未使用的依赖项。
  • PROJQUAY-4957.限制持续失败的清单索引。
  • PROJQUAY-5009. secscan: add api client timeout。
  • PROJQUAY-5018.忽略清单中的未知介质类型。
  • PROJQUAY-5237.组织中的存储库数量在新 UI 中不正确。
  • PROJQUAY-4993.支持 Action Log Forward to Splunk.
  • PROJQUAY-4567.机器人令牌.
  • PROJQUAY-5289.为在新 UI 中通过 SSO 登录的帐户创建一个新用户名。
  • PROJQUAY-5362.API:添加过滤到标签 API。
  • PROJQUAY-5207.第 3 阶段:Quay.io 承诺.
  • PROJQUAY-4608.Quay Operator 应该为 Quay 和 Clair 安装完全支持的 Postgres 版本。
  • PROJQUAY-5050.无法直接向 quay 提供一个链接,指向在旧 UI 和新 UI 中工作的镜像。
  • PROJQUAY-5253。不要在首次登录时将横线转换为下划线。
  • PROJQUAY-4303.存储消耗计算中会忽略多架构镜像。
  • PROJQUAY-4304。空存储库报告存储消耗。
  • PROJQUAY-5634.oci: 允许镜像配置中的可选组件设置为 "null"。
  • PROJQUAY-5639.Quay 3.9.0 在普通用户下删除机构失败,并显示未经授权的错误。
  • PROJQUAY-5642.Quay 3.9.0 镜像高漏洞由 Redhat ACS 报告。
  • PROJQUAY-5630.Quay 3.9.0 Quay 镜像高漏洞 CVE-2022-28948.

1.7. Red Hat Quay 功能跟踪器

在 Red Hat Quay 中添加了新的特性,其中的一些功能当前还只是一个技术预览。技术预览功能是实验性的功能,它不适用于生产环境。

之前版本中的一些功能已被弃用或删除。弃用的功能仍然包含在 Red Hat Quay 中,但计划在以后的发行版本中删除,且不建议在新的部署中使用。有关 Red Hat Quay 中已弃用和删除功能的最新列表,请参阅表 1.1。表后列出了更详细的、已弃用和删除的功能信息。

表 1.1. 技术预览

功能Quay 3.9Quay 3.8Quay 3.7

单站点复制删除

公开发行

-

-

Splunk 日志转发

公开发行

-

-

Nutanix Object Storage

公开发行

-

-

Docker v1 支持

已弃用

已弃用

公开发行

FEATURE_UI_V2

技术预览

技术预览

-

FEATURE_LISTEN_IP_VERSION

公开发行

公开发行

-

LDAP_SUPERUSER_FILTER

公开发行

公开发行

-

LDAP_RESTRICTED_USER_FILTER

公开发行

公开发行

-

FEATURE_SUPERUSERS_FULL_ACCESS

公开发行

公开发行

-

GLOBAL_READONLY_SUPER_USERS

公开发行

公开发行

-

FEATURE_RESTRICTED_USERS

公开发行

公开发行

-

RESTRICTED_USERS_WHITELIST

公开发行

公开发行

-

配额管理和强制

公开发行

公开发行

公开发行

Red Hat Quay 构建增强

公开发行

公开发行

公开发行

Red Hat Quay 作为上游 registry 的代理缓存

公开发行

公开发行

技术预览

geo-replication - Red Hat Quay Operator

公开发行

公开发行

公开发行

高级 Clair 配置

公开发行

公开发行

公开发行

支持 Microsoft Azure Government (MAG)

公开发行

公开发行

公开发行

使用 Clair 的 Java 扫描

技术预览

技术预览

技术预览

法律通告

Copyright © 2023 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.