第 16 章 开放容器项目支持
容器 registry 最初设计为支持 Docker 镜像格式中的容器镜像。为了促进在 Docker 外使用额外的运行时,创建了开放容器项目(OCI)以提供与容器运行时和镜像格式相关的标准化。大多数容器 registry 支持 OCI 标准化,因为它基于 Docker 镜像清单 V2、Schema 2 格式。
除了容器镜像外,还出现各种工件,它们不仅支持单独的应用程序,还存在 Kubernetes 平台作为一个整体的支持。这些范围包括用于安全性和监管的 Open Policy Agent (OPA)策略到 Helm chart 和 Operator,以帮助应用程序部署。
Red Hat Quay 是一个私有容器 registry,它不仅存储容器镜像,还支持整个工具生态系统,以帮助管理容器。Red Hat Quay 会努力与 OCI 1.1 镜像和分发 规格 一起兼容,并支持常见的介质类型,如 Helm chart (只要它们使用支持 OCI 的 Helm 版本)以及容器镜像清单或层组件中的各种任意介质类型。当 registry 对接受的介质类型更严格时,对 OCI 介质类型的支持与之前的 Red Hat Quay 迭代不同。因为 Red Hat Quay 现在可以与更广泛的介质类型一起工作,包括之前不在其支持范围范围外的介质类型,所以现在它比标准容器镜像格式更广泛,而且是标准的容器镜像格式,也是新的或不合比例的类型。
除了其对 novel 介质类型的扩展支持外,Red Hat Quay 还可确保与 Docker 镜像的兼容性,包括 V2_2 和 V2_1 格式。与 Docker V2_2 和 V2_1 镜像的兼容性演示了 Red Hat Quay 的承诺为 Docker 用户提供无缝体验。此外,Red Hat Quay 继续扩展对 Docker V1 拉取的支持,并满足可能仍然依赖这个早期版本的 Docker 镜像的用户。
对 OCI 工件的支持会被默认启用。以下示例演示了如何使用一些介质类型,这些类型可用作使用其他 OCI 介质类型的示例。
16.1. Helm 和 OCI 的先决条件
Helm 简化了应用程序的打包和部署方式。Helm 使用名为 Charts 的打包格式,其中包含代表应用程序的 Kubernetes 资源。Red Hat Quay 支持 Helm chart,只要它们是 OCI 支持的版本。
使用以下步骤预配置您的系统以使用 Helm 和其他 OCI 介质类型。
最新版本的 Helm 可以在 Helm releases 页面中下载。下载 Helm 后,您必须使您的系统信任 Red Hat Quay 使用的 SSL/TLS 证书。
16.1.1. 启用您的系统信任 Red Hat Quay 使用的 SSL/TLS 证书
通过 HTTPS 促进 Helm 客户端和 Red Hat Quay 之间的通信。从 Helm 3.5 开始,支持仅适用于通过 HTTPS 与可信证书通信的 registry。另外,操作系统必须信任 registry 公开的证书。您必须确保您的操作系统已配置为信任 Red Hat Quay 使用的证书。使用以下步骤使您的系统信任自定义证书。
流程
输入以下命令将
rootCA.pem
文件复制到/etc/pki/ca-trust/source/anchors/
文件夹:$ sudo cp rootCA.pem /etc/pki/ca-trust/source/anchors/
输入以下命令更新 CA 信任存储:
$ sudo update-ca-trust extract