1.11. 版本 3.6.0
1.11.1. Quay/ clair / quay-builder
添加/更改:
Red Hat Quay 3.6 现在默认包括以下开放容器项目(OCI)镜像介质类型:CLI cosigning、Helm 和 ztsd 压缩方案。其他 OCI 介质类型可由用户的 config.yaml 文件配置,例如:
config.yaml
... ALLOWED_OCI_ARTIFACT_TYPES: application/vnd.oci.image.config.v1+json - application/vnd.dev.cosign.simplesigning.v1+json application/vnd.cncf.helm.config.v1+json - application/tar+gzip application/vnd.sylabs.sif.config.v1+json - application/vnd.sylabs.sif.layer.v1+tar ...
注意当添加默认配置的 OCI 介质类型时,用户需要手动添加对 cosign 和 Helm 的支持。在默认情况下,支持 ztsd 压缩方案,因此用户不需要将 OCI 介质类型添加到其 config.yaml 中以启用支持。
如需更多信息,请参阅 PROQUAY-1417 和 PROJQUAY-1032。
- 现在,您可以使用 API 来创建第一个用户。(PROJQUAY-1926)
-
添加了对嵌套软件仓库和扩展仓库名称的支持。此更改允许使用某些 OpenShift Container Platform 用例所需的存储库名称
/
。(PROJQUAY-1535) -
registry 用户现在有一个选项,可根据其安全需要,在其 config.yaml 中将
CREATE_PRIVATE_REPO_ON_PUSH
设置为True
或False
。(PROJQUAY-1929) - 现在,可以将 推送到不存在的组织,以自动创建组织。(PROJQUAY-1928)
- 现在,在删除存储库时,用户需要输入命名空间和仓库名称。(PROJQUAY-763)
- 添加了对 Ceph 虚拟主机风格的 bucket 寻址的支持。(PROJQUAY-922)
现在,Quay UI 中可以看到 Clair v4.2 的数据。此外,Clair v4.2 为检测到的漏洞添加国家漏洞数据库中的 CVSS 分数。
在这个版本中,如果漏洞的 CVSS 分数在 distro 分数中的 2 个级别,则默认存在的 Quay UI 分数。
如需更多信息,请参阅 PROJQUAY-2102 和 PROJQUAY-1724。
- 现在,当启用存储库镜像时,Quay Repository 会显示 Repository Status。(PROJQUAY-591)
改进了 Clair 中的内存用量,特别是
affected_manifests
调用的问题。这些 changesets 包括:-
io.Pipe
用于跨线 JSON 编码和 API 请求,以避免在内存中缓冲整个正文请求; -
encoding/JSON
已替换为为 JSON 配置的github.com/ugorji/go/codec
,以允许流传输 JSON 编码; notifier 中的
affected_manifests
调用应该防止大型漏洞转换导致非常大的 API 调用。如需更多信息,请参阅 PROJQUAY-1963。
-
- 对于高度可用的 Red Hat Quay 3.6,强烈建议使用 Red Hat Enterprise Linux(RHEL)8。RHEL 7 还没有在 Red Hat Quay 3.6 中测试,并将在以后的发行版本中删除。
- 对于 Red Hat Quay 3.6 的高可用性生产质量部署,我们强烈建议使用 podman。Docker 尚未与 Red Hat Quay 3.6 进行测试,并将在以后的版本中弃用。
修正:
- PROJQUAY-2047.Clair 数据库保持在不断增长。
- PROJQUAY-1918.Clair v4.1.0.alpha2 索引程序现在可以在 Red Hat Quay 3.6 中正常工作。
-
PROJQUAY-1610.Quay 迁移 Pod 的
initContainer
已被删除,这会阻止部署过程,直到 Clair 响应为止。现在,Quay 部署会在不等待 Clair 部署完成的情况下进行。 - PROJQUAY-1857.NamespaceGCWorker 和 RepositoryGCWorker 在无法获取锁定时关闭
- PROJQUAY-1872.因为 Redis 运行没有连接,GC worker 有时将无法获取锁定
- PROJQUAY-2414.Quay config 编辑器无法验证 AWS RDS TLS Cert
- PROJQUAY-1626.如果没有提供 AWS 访问密钥,则 config 验证会失败
- PROJQUAY-1710.通知丢失
- PROJQUAY-1813.需要更新者的速率限制器
- PROJQUAY-1815.Quay config 编辑器无法验证上传的 LDAPS CA 证书过期的时间
- PROJQUAY-1816.当导出日志邮件未发送到目标地址时,Quay 导出日志 API 会返回 200
- PROJQUAY-1912.内部通知程序队列带有事件的 clogging
- PROJQUAY-2119.Quay 配置验证在由 SSL 支持的 PostgreSQL 11 上失败
- PROJQUAY-2167.镜像在 3.5.2 中停止工作
- PROJQUAY-2269.当索引清单层的位置为远程时,SecurityWorker 会失败
- PROJQUAY-2200.在上传数据库 SSL 证书后,Quay Config 编辑器需要支持 sslmode=verify-full in config.yaml
- PROJQUAY-2185.通过配置工具更改后修改 Quay CR
1.11.2. Red Hat Quay 功能跟踪器
在 Red Hat Quay 中添加了新的功能,其中的一些功能目前还处于技术预览阶段。技术预览功能是实验性功能,不适用于生产环境。
之前版本中的一些功能已弃用或删除。弃用的功能仍然包含在 Red Hat Quay 中,但计划在以后的发行版本中删除,且不建议在新的部署中使用。有关 Red Hat Quay 3.6 已弃用并删除的主要功能的最新列表,请参考下表。表后列出了更详细的、已弃用和删除的功能信息。
功能 | Quay 3.6 |
---|---|
已弃用 | |
已弃用 | |
公开发行 | |
使用 Clair 进行 Java 扫描 | 技术预览 |
1.11.2.1. 已弃用的功能
-
FEATURE_HELM_OCI_SUPPORT: 这个选项已弃用,并将在以后的 Red Hat Quay 版本中删除。在 Red Hat Quay 3.6 中,默认支持 Helm 工件,并包括在
FEATURE_GENERAL_OCI_SUPPORT
属性中。用户不再需要更新其 config.yaml 文件来启用支持。(PROJQUAY-2334) - MySQL 和 MariaDB 数据库支持 :从 Red Hat Quay 3.6 开始,MySQL 和 mariaDB 数据库已弃用。在以后的 Red Hat Quay 版本中会删除对这些数据库的支持。如果启动新的 Red Hat Quay 安装,强烈建议您使用 PostgreSQL。(PROJQUAY-1998)
1.11.2.2. 技术预览功能
Clair 的 Java 扫描 :在 Red Hat Quay 3.6 中,Clair 4.2 包括对 Java 扫描的支持。Java 扫描依赖于外部服务(CRDA)来收集漏洞数据。由于 Clair 使用共享默认令牌访问 CRDA 服务,因此在短时间内进行太多请求时可能会遇到速率限制。因此,Clair 可能会错过某些漏洞,如 log4j。
客户可以将自己的令牌获取和使用 CRDA,通过提交 此表单 有助于避免出现速率限制的情况。由于这些问题,Java 对 Clair 的扫描被视为技术预览,并将在以后的 Quay 更新中增强。
1.11.3. quay-operator
添加/更改:
Red Hat Quay 3.6 为 Operator 添加
断开连接的
注解。例如:metadata: annotations: operators.openshift.io/infrastructure-features: '["disconnected"]'
如需更多信息,请参阅 PROJQUAY-1583。
-
为了正确支持 Github 操作,现在标签名称(
name:tag
)或摘要(name@sha256:123
)可以引用RELATED_IMAGE
值。(QUAY-1887),(PROJQUAY-1890) -
HorizontalPodAutoscalers
已添加到 Clair、Quay 和 Mirror pod 中,以便在负载高峰期间自动扩展。(PROJQUAY-1449) - Quay Operator 现在将每个受管组件的状态报告到同一 status 属性内的单独索引中,以便用户可以查看部署或更新的进度。(PROJQUAY-1609)
-
SSL.cert
和ssl.key
现在被移到一个单独的持久的 Secret 中,这样可确保在每次协调时不会重新生成 cert/key 对。现在,它们被格式化为边缘路由
,并挂载到 Quay 容器中的同一目录中。(PROJQUAY-1883) -
通过新的受管组件
tls
,增加了对 OpenShift Container Platform Edge-Termination 路由的支持。这会将Route
组件与 TLS 分开,并允许用户单独配置它们。EXTERNAL_TLS_TERMINATION:true
是建议的设置。受管tls
意味着使用默认的集群通配证书。非受管tls
意味着用户提供的 cert/key 对将注入到Route
中。(PROJQUAY-2050) -
现在,Red Hat Quay Operator 可以直接从 3.3 升级到 3.6,而无需在
Route
处理、推出部署速度、稳定性和协调性方面进行回归。(PROJQUAY-2100) - Quay Operator 现在允许多个镜像 pod。用户不再需要手动调整镜像 Pod 部署。(PROJQUAY-1327)
- 在以前的版本中,当运行启用了边缘路由的 Red Hat Quay 的 3.3.x 版本时,用户无法升级到 Red Hat Quay 的 3.4.x 版本。这个问题已通过 Red Hat Quay 3.6 的发行版本解决。(PROJQUAY-1694)
-
现在,在设置
HorizontalPodAutoscaler
时,用户可以选择设置最小副本 Quay pod。这可减少在重新调度事件期间通过 Operator 更新或重新配置 Quay 时停机。(PROJQUAY-1763)
已知问题:
-
PROJQUAY-2335.当 TLS 证书/密钥对未提供时,
Quay
Operator 部署应该会被阻止。相反,Quay
Operator 会继续部署。 - PROJQUAY-2389.提供的 TLS 证书在 Red Hat Quay 3.6 Operator 协调后会丢失。
- PROJQUAY-2545.只有在 TLS 为非受管时支持构建器
修正:
- PROJQUAY-1709.从带有边缘路由的旧 Operator 升级会破坏 Quay
- PROJQUAY-1974.Quay operator 不协调配置应用程序所做的更改
- PROJQUAY-1838.Quay Operator 会在每次重启新的 root ca 时创建
- PROJQUAY-2068.Operator 不检查部署失败
- PROJQUAY-2121.运行所有 worker 而不是只进行数据库升级的 Quay 升级 pod
1.11.4. quay-container-security-operator
-
Operator Lifecycle Manager 现在支持 Container Security Operator 的新 v1 CRD API
apiextensions.k8s.io.v1.CustomResourceDefinition
。应该使用这个 CRD 而不是v1beta1
CRD,该 CRD 已在 OpenShift Container Platform 4.9 开始被弃用。(FIUAY-613),(PROJQUAY-1791)
1.11.5. quay-openshift-bridge-operators
改进了 Quay Bridge Operator(QBO)的安装体验。功能增强包括:
-
在安装过程中自动创建
MutatingAdmissionWebhook
。 - QBO 利用自动生成证书和 webhook 配置的 Operator Lifecycle Manager 功能。
获取运行 Quay Bridge Operator 所需的手动步骤数量已减少。
如需更多信息,请参阅 PROJQUAY-672。
-
在安装过程中自动创建
- 证书管理器现在由 Operator Lifecycle Manager 委托。证书现在可以在超过 65 天时有效。(PROJQUAY-1062)