搜索

第 10 章 开放容器项目支持

download PDF

容器 registry 最初设计为支持 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.0 镜像和分发 规格 兼容,并支持像 Helm chart 等常用介质类型(只要它们推送了支持 OCI 的 Helm 版本),以及容器镜像的清单或层组件中的各种任意介质类型。当 registry 更加严格时,对此类 novel 介质类型的支持与以前的 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 工件的支持会被默认启用。在以前的版本中,在 FEATURE_GENERAL_OCI_SUPPORT 配置字段下启用了 OCI 介质类型。

注意

因为现在默认启用所有 OCI 介质类型,所以不再需要使用 FEATURE_GENERAL_OCI_SUPPORTALLOWED_OCI_ARTIFACT_TYPESIGNORE_UNKNOWN_MEDIATYPES

另外,FEATURE_HELM_OCI_SUPPORT 配置字段已被弃用。此配置字段不再被支持,并将在以后的 Red Hat Quay 版本中删除。

10.1. Helm 和 OCI 的先决条件

Helm 简化了应用程序的打包和部署方式。Helm 使用名为 Charts 的打包格式,其中包含代表应用程序的 Kubernetes 资源。Red Hat Quay 支持 Helm chart,只要它们是 OCI 支持的版本。

使用以下步骤预配置您的系统以使用 Helm 和其他 OCI 介质类型。

10.1.1. 安装 Helm

使用以下步骤安装 Helm 客户端。

流程

  1. 从 Helm 发行版本页面下载最新版本的 Helm
  2. 输入以下命令解包 Helm 二进制文件:

    $ tar -zxvf helm-v3.8.2-linux-amd64.tar.gz
  3. 将 Helm 二进制文件移到所需位置:

    $ mv linux-amd64/helm /usr/local/bin/helm

有关安装 Helm 的更多信息,请参阅安装 Helm 文档。

10.1.2. 升级到 Helm 3.8

对 OCI registry chart 的支持要求 Helm 已升级到至少 3.8。如果您已经下载了 Helm,且需要升级到 Helm 3.8,请参阅 Helm 升级 文档。

10.1.3. 启用您的系统信任 Red Hat Quay 使用的 SSL/TLS 证书

通过 HTTPS 促进 Helm 客户端和 Red Hat Quay 之间的通信。从 Helm 3.5 开始,支持仅适用于通过 HTTPS 与可信证书通信的 registry。另外,操作系统必须信任 registry 公开的证书。您必须确保您的操作系统已配置为信任 Red Hat Quay 使用的证书。使用以下步骤使您的系统信任自定义证书。

流程

  1. 输入以下命令将 rootCA.pem 文件复制到 /etc/pki/ca-trust/source/anchors/ 文件夹:

    $ sudo cp rootCA.pem   /etc/pki/ca-trust/source/anchors/
  2. 输入以下命令更新 CA 信任存储:

    $ sudo update-ca-trust extract
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.