第 13 章 开放容器项目支持和 Red Hat Quay
Red Hat Quay 等容器 registry 最初设计为支持 Docker 镜像格式的容器镜像。为提升使用 Docker 以外的其他运行时,创建了开放容器项目(OCI)来提供由容器运行时和镜像格式组成的技术。大多数容器 registry 支持 OCI 标准化,因为它基于 Docker 镜像清单 V2、Schema 2 格式。
除了容器镜像外,还出现各种工件,它们不仅支持单独的应用程序,还存在 Kubernetes 平台作为一个整体的支持。这些范围包括用于安全性和监管的 Open Policy Agent (OPA)策略到 Helm chart 和 Operator,以帮助应用程序部署。
Red Hat Quay 是一个私有容器 registry,它不仅存储容器镜像,但支持整个工具生态系统来协助容器管理。在版本 3.6 之前,Red Hat Quay 只支持 Helm,它被视为 Kubernetes 的事实 软件包管理器。
Helm 简化了应用程序的打包和部署方式。Helm 使用名为 Charts 的打包格式,其中包含代表应用程序的 Kubernetes 资源。可以对仓库中的常规发行和使用提供图表。Helm 仓库是一个 HTTP 服务器,它提供 index.yaml
元数据文件,也可以选择一组打包的 chart。从 Helm 版本 3 开始,支持在 OCI registry 中分发 chart 作为传统仓库的替代选择。
作为对 Helm 支持的增强,Red Hat Quay 引入了从版本 3.6 中对基于 OCI 的工件的支持,使其包含对 cosign、ZStandard 压缩方案和其他 OCI 介质类型的支持。现在,在 FEATURE_GENERAL_OCI_SUPPORT
配置字段中默认启用 Helm 和其他 OCI 工件的支持,并使用 ALLOWED_OCI_ARTIFACT_TYPES
和 IGNORE_UNKNOWN_MEDIATYPES
字段扩展到其他工件类型。
由于增加了 FEATURE_GENERAL_OCI_SUPPORT
、ALLOWED_OCI_ARTIFACT_TYPES
和 IGNORE_UNKNOWN_MEDIATYPES
,FEATURE_HELM_OCI_SUPPORT
配置字段已弃用。此配置字段不再被支持,并将在以后的 Red Hat Quay 版本中删除。
13.1. Helm 和 OCI 的先决条件 复制链接链接已复制到粘贴板!
在启用 Helm 和其他开放容器项目(OCI)工件类型之前,您必须满足以下条件:
13.1.1. 安装 Helm 复制链接链接已复制到粘贴板!
使用以下步骤安装 Helm 客户端。
流程
- 从 Helm 发行版本页面下载最新版本的 Helm。
输入以下命令解包 Helm 二进制文件:
tar -zxvf helm-v3.8.2-linux-amd64.tar.gz
$ tar -zxvf helm-v3.8.2-linux-amd64.tar.gz
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将 Helm 二进制文件移到所需位置:
mv linux-amd64/helm /usr/local/bin/helm
$ mv linux-amd64/helm /usr/local/bin/helm
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
有关安装 Helm 的更多信息,请参阅安装 Helm 文档。
13.1.2. 升级到 Helm 3.8 复制链接链接已复制到粘贴板!
对 OCI registry chart 的支持要求 Helm 已升级到至少 3.8。如果您已经下载了 Helm,且需要升级到 Helm 3.8,请参阅 Helm 升级 文档。
13.1.3. 启用您的系统信任 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/
$ sudo cp rootCA.pem /etc/pki/ca-trust/source/anchors/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输入以下命令更新 CA 信任存储:
sudo update-ca-trust extract
$ sudo update-ca-trust extract
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
13.1.4. 在 Red Hat Quay 中为 Helm 创建机构 复制链接链接已复制到粘贴板!
建议您在下载 Helm 客户端后创建一个新机构,以便在 Red Hat Quay 中存储 Helm chart。使用以下步骤,使用 Red Hat Quay UI 创建新机构。
流程
- 登录到您的 Red Hat Quay 部署。
- 单击 Create New Organization。
- 输入机构的名称,如 helm。然后,单击 Create Organization。