第 18 章 开放容器计划支持
容器注册表最初设计为支持 Docker 镜像格式中的容器镜像。为了促进 Docker 之外的其他运行时,还创建了开放容器项目(OCI),以提供与容器运行时和镜像格式相关的标准化。大多数容器注册表支持 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 介质类型的示例。
18.1. Helm 和 OCI 的先决条件
Helm 简化应用程序是如何打包和部署的。Helm 使用名为 Charts 的打包格式,其中包含代表应用程序的 Kubernetes 资源。Red Hat Quay 支持 Helm chart,只要它们是 OCI 支持的版本。
使用以下步骤预先配置您的系统以使用 Helm 和其他 OCI 介质类型。
最新版本的 Helm 可以在 Helm releases 页面中下载。下载 Helm 后,您必须使您的系统信任 Red Hat Quay 使用的 SSL/TLS 证书。
18.1.1. 使您的系统能够信任 Red Hat Quay 使用的 SSL/TLS 证书
Helm 客户端和 Red Hat Quay 之间的通信通过 HTTPS 促进。从 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