8.3. 存储对象配置字段
存储字段定义存储容器镜像 blob 和清单的后端。Red Hat Quay 支持以下存储供应商:
- Amazon Web Services (AWS) S3
- AWS STS S3 (Security Token Service)
- AWS CloudFront (CloudFront S3Storage)
- Google Cloud Storage
- Microsoft Azure Blob Storage
- Swift Storage
- Nutanix 对象存储
- IBM Cloud Object Storage
- NetApp ONTAP S3 对象存储
- Hitachi Content Platform (HCP)对象存储
许多支持的存储供应商都使用 RadosGWStorage
驱动程序,因为它们兼容 S3 的 API。
8.3.1. 存储配置字段 复制链接链接已复制到粘贴板!
下表描述了 Red Hat Quay 的存储配置字段。配置后端存储时需要这些字段。
字段 | 类型 | 描述 |
---|---|---|
DISTRIBUTED_STORAGE_CONFIG | 对象 |
配置 Red Hat Quay 中要使用的存储引擎。每个键代表存储引擎的唯一标识符。该值由一个元组(键、值)组成一个对象来描述存储引擎参数。 |
DISTRIBUTED_STORAGE_DEFAULT_LOCATIONS | 字符串数组 |
默认情况下,存储引擎(根据 ID 在 |
DISTRIBUTED_STORAGE_PREFERENCE | 字符串数组 |
首选存储引擎(根据 ID 在 |
MAXIMUM_LAYER_SIZE | 字符串 |
镜像层允许的最大值。 |
存储配置示例
DISTRIBUTED_STORAGE_CONFIG: DISTRIBUTED_STORAGE_DEFAULT_LOCATIONS: [] DISTRIBUTED_STORAGE_PREFERENCE: - default MAXIMUM_LAYER_SIZE: 100G
DISTRIBUTED_STORAGE_CONFIG:
DISTRIBUTED_STORAGE_DEFAULT_LOCATIONS: []
DISTRIBUTED_STORAGE_PREFERENCE:
- default
MAXIMUM_LAYER_SIZE: 100G
8.3.2. 本地存储 复制链接链接已复制到粘贴板!
以下 YAML 显示了使用本地存储的示例配置。
仅在部署 registry 进行 概念验证 时使用本地存储。它不适用于生产环境。使用本地存储时,您必须在启动 registry 时将 registry 映射到容器中的 datastorage
路径。如需更多信息,请参阅 概念验证 - 部署 Red Hat Quay
本地存储示例
8.3.3. Red Hat OpenShift Data Foundation 复制链接链接已复制到粘贴板!
以下 YAML 显示了使用 Red Hat OpenShift Data Foundation 的示例配置:
8.3.4. Ceph 对象网关(RadosGW)存储示例 复制链接链接已复制到粘贴板!
Red Hat Quay 支持使用 Ceph 对象网关(RadosGW)作为对象存储后端。radosgw 是 Red Hat Ceph Storage 的一个组件,它是专为私有架构设计的存储平台。Red Hat Ceph Storage 提供 S3 兼容 REST API,用于与 Ceph 交互。
radosgw 是一个与内部兼容 S3 的存储解决方案。它实施 S3 API,并且需要相同的身份验证字段,如 access_key
、secret_key
和 bucket_name
。有关 Ceph 对象网关和 S3 API 的更多信息,请参阅 Ceph 对象网关。
以下 YAML 显示了使用 RadosGW 的示例配置。
带有常规 s3 访问示例的 radosgw
8.3.5. 支持的 AWS 存储后端 复制链接链接已复制到粘贴板!
Red Hat Quay 支持多个 Amazon Web Services (AWS)存储后端:
- S3 storage :对使用 AWS 原生对象存储服务的 AWS S3 存储桶的标准支持。
- STS S3 存储 :对 AWS 安全令牌服务(STS)的支持,以假定 IAM 角色,允许更安全的 S3 操作。
- CloudFront S3 存储 :与 AWS CloudFront 集成,以便在仍使用 AWS S3 作为源时启用内容高可用性分布。
以下小节提供了 YAMLs 示例,以及每个 AWS 存储后端的附加信息。
8.3.5.1. Amazon Web Services S3 存储 复制链接链接已复制到粘贴板!
Red Hat Quay 支持使用 AWS S3 作为对象存储后端。AWS S3 是一个对象存储服务,设计用于数据可用性、可扩展性、安全性和性能。以下 YAML 显示了使用 AWS S3 的示例配置。
AWS S3 示例
8.3.5.2. Amazon Web Services STS S3 存储 复制链接链接已复制到粘贴板!
AWS 安全令牌服务(STS)提供临时的、有有限权限的凭证来访问 AWS 资源,从而通过避免存储长期访问密钥来提高安全性。这在如 OpenShift Container Platform 等环境中很有用,其中可以通过 IAM 角色轮转或管理凭证。
以下 YAML 显示了在 OpenShift Container Platform 配置中使用带有 Red Hat Quay 的 AWS STS 的示例配置。
AWS STS S3 存储示例
8.3.5.3. AWS CloudFront 存储 复制链接链接已复制到粘贴板!
AWS CloudFront 是一个内容交付网络(CDN)服务,该服务缓存并更接近用户分发内容,以提高性能和降低延迟。Red Hat Quay 支持 CloudFrontedS3Storage
驱动程序的 CloudFront,它通过 CloudFront 发行版启用对 S3 存储桶的安全、签名访问。
在为 Red Hat Quay 部署配置 AWS CloudFront 时,请使用以下示例。
在配置 AWS Cloudfront 存储时,必须满足以下条件才能正确使用 Red Hat Quay:
-
您必须设置一个 Origin 路径,该路径 与
config.yaml
文件中定义的 Red Hat Quay 的存储路径一致。如果无法满足这一要求,在拉取镜像时会导致403
错误。如需更多信息,请参阅 Origin 路径。 - 您必须配置 Bucket 策略和 跨源资源共享(CORS) 策略。
-
您必须设置一个 Origin 路径,该路径 与
CloudFront S3 示例 YAML
bucket 策略示例
8.3.6. Google Cloud Storage 复制链接链接已复制到粘贴板!
Red Hat Quay 支持使用 Google Cloud Storage (GCS)作为对象存储后端。与 Red Hat Quay 一起使用时,它提供了一个云原生解决方案来存储容器镜像和工件。
以下 YAML 显示了使用 Google Cloud Storage 的示例配置。
Google Cloud Storage 示例
- 1
- 可选。从连接时抛出超时异常的时间(以秒为单位)。默认值为
60
秒。另外,还包括时间(以秒为单位),直到尝试进行连接时抛出超时异常。默认值为60
秒。
8.3.7. Microsoft Azure Blob Storage 复制链接链接已复制到粘贴板!
Red Hat Quay 支持使用 Microsoft Azure Blob Storage 作为对象存储后端。Azure Blob 存储可用于以安全且云原生的方式持久保留容器镜像、元数据和其他工件。
以下 YAML 显示了使用 Azure Storage 的示例配置。
Microsoft Azure Blob Storage 示例
- 1
- Azure 存储的
endpoint_url
参数是可选的,可用于 Microsoft Azure Government(MAG)端点。如果留空,则endpoint_url
将连接到普通的 Azure 区域。从 Red Hat Quay 3.7 开始,您必须使用 MAG Blob 服务的主端点。使用 MAG Blob 服务的 Secondary 端点将导致以下错误:
AuthenticationErrorDetail:Can not found the claimed account when attempt to GetProperties for the account whusc8-secondary
.
8.3.8. Swift 对象存储 复制链接链接已复制到粘贴板!
Red Hat Quay 支持使用 Red Hat OpenStack Platform (RHOSP) Object Storage 服务 或 Swift 作为对象存储后端。Swift 提供类似 S3 的功能,具有自己的 API 和身份验证机制。
以下 YAML 显示了使用 Swift 存储的示例配置。
Swift 对象存储示例
8.3.9. Nutanix Objects 存储 复制链接链接已复制到粘贴板!
Red Hat Quay 支持 Nutanix Objects Storage 作为对象存储后端。Nutanix Object Storage 适合使用 Nutanix 运行私有云基础架构的组织。
以下 YAML 显示了使用 Nutanix 对象存储的示例配置。
Nutanix Objects 存储示例
8.3.10. IBM Cloud Object Storage 复制链接链接已复制到粘贴板!
Red Hat Quay 支持 IBM Cloud Object Storage 作为对象存储后端。IBM Cloud Object Storage 适用于需要 IBM Cloud 上可扩展和安全存储的云原生应用程序。
以下 YAML 显示了使用 IBM Cloud Object Storage 的示例配置。
IBM Cloud Object Storage
8.3.11. NetApp ONTAP S3 对象存储 复制链接链接已复制到粘贴板!
Red Hat Quay 支持使用 NetApp ONTAP S3 作为对象存储后端。
以下 YAML 显示了使用 NetApp ONTAP S3 的示例配置。
NetApp ONTAP S3 示例
8.3.12. Hitachi Content Platform 对象存储 复制链接链接已复制到粘贴板!
Red Hat Quay 支持使用 Hitachi Content Platform (HCP) 作为对象存储后端。
以下 YAML 显示了使用 HCP 进行对象存储的示例配置。
HCP 存储配置示例