第 14 章 开放容器项目支持
容器 registry 最初设计为支持 Docker 镜像格式中的容器镜像。为了促进除 Docker 外的其他运行时,还创建了开放容器项目(OCI),以提供与容器运行时和镜像格式相关的标准化。大多数容器注册表都支持 OCI 标准化,因为它基于 Docker 镜像清单 V2、Schema 2 格式。
除了容器镜像外,还出现各种工件,它们不仅支持单独的应用程序,还存在 Kubernetes 平台作为一个整体的支持。这些范围包括用于安全性和监管的 Open Policy Agent (OPA)策略到 Helm chart 和 Operator,以帮助应用程序部署。
Quay.io 是一个私有容器 registry,它不仅存储容器镜像,还支持整个工具生态系统,以帮助管理容器。Quay.io 会努力与 OCI 1.1 镜像 和分发规格 兼容,并支持常见的介质类型,如 Helm chart (只要它们使用支持 OCI 的 Helm 版本)以及容器镜像清单或层组件中的各种任意介质类型。当 registry 对接受的介质类型更严格时,对 OCI 介质类型的支持与之前的 Quay.io 迭代不同。由于 Quay.io 现在与更广泛的介质类型一起工作,包括之前不在其支持范围范围之外的介质类型,所以现在它比标准容器镜像格式更广泛,也只是标准容器镜像格式的修改。
除了其对 novel 介质类型的支持外,Quay.io 还可确保与 Docker 镜像的兼容性,包括 V2_2 和 V2_1 格式。与 Docker V2_2 和 V2_1 镜像的兼容性演示了 Quay.io 针对 Docker 用户提供无缝体验的承诺。此外,Quay.io 继续扩展对 Docker V1 拉取的支持,并满足可能仍然依赖此早期版本的 Docker 镜像的用户。
对 OCI 工件的支持会被默认启用。以下示例演示了如何使用一些介质类型,这些类型可用作使用其他 OCI 介质类型的示例。
14.1. Helm 和 OCI 的先决条件
Helm 简化了应用程序的打包和部署方式。Helm 使用名为 Charts 的打包格式,其中包含代表应用程序的 Kubernetes 资源。Quay.io 支持 Helm chart,只要它们是 OCI 支持的版本。
使用以下步骤预配置您的系统以使用 Helm 和其他 OCI 介质类型。
最新版本的 Helm 可以在 Helm releases 页面中下载。