×

Red Hat OpenShift Service on AWS 可以从您的源代码构建镜像、部署它们并管理其生命周期。它提供一个内部的、集成的容器镜像注册表,可以部署在您的 Red Hat OpenShift Service on AWS 环境中以本地管理镜像。本概述包含常用注册表(重点关注 OpenShift 镜像注册表)的参考信息和链接,这些注册表通常与 Red Hat OpenShift Service on AWS 一起使用。

OpenShift 镜像注册表的常用术语表

本词汇表定义了注册表内容中使用的常用术语。

容器

轻量级可执行镜像,包含软件及其所有依赖项。由于容器虚拟化了操作系统,因此您可以在数据中心、公有云或私有云或本地主机上运行容器。

镜像注册表操作符

镜像注册表操作符在openshift-image-registry命名空间中运行,并在该位置管理注册表实例。

镜像仓库

镜像仓库是相关容器镜像和标识镜像的标签的集合。

镜像注册表

镜像注册表是一个保存 Red Hat OpenShift Service on AWS 镜像镜像的注册表。

命名空间

命名空间隔离单个集群内的资源组。

Pod

Pod 是 Kubernetes 中最小的逻辑单元。Pod 由一个或多个容器组成,可在工作节点中运行。

私有注册表

注册表是一个实现容器镜像注册表 API 的服务器。私有注册表是一个需要身份验证才能允许用户访问其内容的注册表。

公共注册表

注册表是一个实现容器镜像注册表 API 的服务器。公共注册表是公开提供其内容的注册表。

Quay.io

Red Hat 提供和维护的公共 Red Hat Quay 容器注册表实例,为 Red Hat OpenShift Service on AWS 集群提供大部分容器镜像和操作符。

OpenShift 镜像注册表

OpenShift 镜像注册表是 Red Hat OpenShift Service on AWS 提供的用于管理镜像的注册表。

注册表身份验证

要将镜像推送到私有镜像仓库或从中拉取镜像,注册表需要使用凭据对其用户进行身份验证。

路由

公开服务以允许来自 Red Hat OpenShift Service on AWS 实例外部的用户和应用程序访问 Pod。

缩容

减少副本数量。

扩容

增加副本数量。

服务

服务在一组 Pod 上公开正在运行的应用程序。

集成的 OpenShift 镜像注册表

Red Hat OpenShift Service on AWS 提供一个内置的容器镜像注册表,它作为集群上的标准工作负载运行。注册表由基础架构操作符配置和管理。它为用户提供了一种开箱即用的解决方案,用于管理运行其工作负载的镜像,并在现有集群基础架构之上运行。此注册表可以像任何其他集群工作负载一样进行扩容或缩容,并且不需要特定的基础架构配置。此外,它集成到集群用户身份验证和授权系统中,这意味着创建和检索镜像的访问权限是通过定义镜像资源上的用户权限来控制的。

注册表通常用作在集群上构建的镜像的发布目标,以及作为在集群上运行的工作负载的镜像来源。当新的镜像被推送到注册表时,集群会收到新镜像的通知,其他组件可以对更新的镜像做出反应并使用它。

镜像数据存储在两个位置。实际的镜像数据存储在可配置的存储位置,例如云存储或文件系统卷。镜像元数据(通过标准集群 API 公开,并用于执行访问控制)存储为标准 API 资源,特别是镜像和镜像流。

第三方注册表

Red Hat OpenShift Service on AWS 可以使用来自第三方注册表的镜像创建容器,但这些注册表不太可能提供与集成的 OpenShift 镜像注册表相同的镜像通知支持。在这种情况下,Red Hat OpenShift Service on AWS 将在创建镜像流时从远程注册表获取标签。要刷新已获取的标签,请运行oc import-image <stream>。当检测到新镜像时,会发生前面描述的构建和部署反应。

身份验证

Red Hat OpenShift Service on AWS 可以与注册表通信,使用用户提供的凭据访问私有镜像仓库。这允许 Red Hat OpenShift Service on AWS 将镜像推送到私有仓库或从中拉取镜像。

使用 Podman 进行注册表身份验证

某些容器镜像注册表需要访问授权。Podman 是一个用于管理容器和容器镜像以及与镜像注册表交互的开源工具。您可以使用 Podman 认证您的凭据,拉取注册表镜像,并将本地镜像存储在本地文件系统中。以下是使用 Podman 认证注册表的通用示例。

步骤
  1. 使用Red Hat 生态系统目录搜索 Red Hat 仓库中的特定容器镜像并选择所需的镜像。

  2. 单击**获取此镜像**以查找容器镜像的命令。

  3. 通过运行以下命令并输入您的用户名和密码进行身份验证登录

    $ podman login registry.redhat.io
     Username:<your_registry_account_username>
     Password:<your_registry_account_password>
  4. 下载镜像并通过运行以下命令将其保存到本地

    $ podman pull registry.redhat.io/<repository_name>

Red Hat Quay 注册表

如果您需要企业级的容器镜像注册表,Red Hat Quay 可作为托管服务和您可以在自己的数据中心或云环境中安装的软件提供。Red Hat Quay 的高级功能包括地理复制、镜像扫描和回滚镜像的能力。

访问Quay.io网站设置您自己的托管 Quay 注册表帐户。之后,按照 Quay 教程登录 Quay 注册表并开始管理您的镜像。

您可以像访问任何远程容器镜像仓库一样,从 AWS 上的 Red Hat OpenShift Service 访问您的 Red Hat Quay 仓库。

启用身份验证的 Red Hat 仓库

Red Hat 生态系统目录的“容器镜像”部分中提供的所有容器镜像都托管在一个镜像仓库中,即registry.redhat.io

仓库registry.redhat.io需要身份验证才能访问 AWS 上 Red Hat OpenShift Service 上的镜像和托管内容。迁移到新仓库后,现有仓库将在一段时间内可用。

AWS 上的 Red Hat OpenShift Service 从registry.redhat.io拉取镜像,因此您必须将集群配置为使用它。

新仓库使用标准 OAuth 机制进行身份验证,方法如下:

  • 身份验证令牌。令牌由管理员生成,是服务帐户,使系统能够针对容器镜像仓库进行身份验证。服务帐户不受用户帐户更改的影响,因此令牌身份验证方法可靠且具有弹性。这是生产集群唯一支持的身份验证选项。

  • Web 用户名和密码。这是您用于登录access.redhat.com等资源的标准凭据。虽然可以使用此身份验证方法与 AWS 上的 Red Hat OpenShift Service 配合使用,但不支持用于生产部署。请将此身份验证方法限制在 AWS 上 Red Hat OpenShift Service 之外的独立项目中。

您可以使用您的凭据(用户名和密码或身份验证令牌)以及podman login来访问新仓库上的内容。

所有镜像流都指向新仓库,该仓库使用安装拉取密钥进行身份验证。

您必须将您的凭据放在以下任何一个位置:

  • openshift命名空间。您的凭据必须存在于openshift命名空间中,以便openshift命名空间中的镜像流可以导入。

  • 您的主机。您的凭据必须存在于您的主机上,因为 Kubernetes 在拉取镜像时会使用您主机上的凭据。

其他资源