2.6. 镜像存储
本节详细介绍了 Red Hat Quay 可用的镜像存储功能和配置字段。
2.6.1. 镜像存储功能
下表描述了 Red Hat Quay 的镜像存储功能:
字段 | 类型 | 描述 |
---|---|---|
FEATURE_REPO_MIRROR | 布尔值 |
如果设为 true,请启用存储库镜像。 |
FEATURE_PROXY_STORAGE | 布尔值 |
是否通过 NGINX 代理存储中的所有直接下载 URL。 |
FEATURE_STORAGE_REPLICATION | 布尔值 |
是否在存储引擎之间自动复制。 |
2.6.2. 镜像存储配置字段
下表描述了 Red Hat Quay 的镜像存储配置字段:
字段 | 类型 | 描述 |
---|---|---|
DISTRIBUTED_STORAGE_CONFIG | 对象 |
在 Red Hat Quay 中使用的存储引擎的配置。每个键代表存储引擎的唯一标识符。该值由一个元组(键、值)组成一个对象来描述存储引擎参数。 |
DISTRIBUTED_STORAGE_DEFAULT_LOCATIONS | 字符串数组 |
默认情况下,存储引擎(根据 ID 在 |
DISTRIBUTED_STORAGE_PREFERENCE | 字符串数组 |
首选存储引擎(根据 ID 在 |
MAXIMUM_LAYER_SIZE | 字符串 |
镜像层允许的最大值。 |
2.6.3. 本地存储
以下 YAML 显示了使用本地存储的示例配置:
DISTRIBUTED_STORAGE_CONFIG: default: - LocalStorage - storage_path: /datastorage/registry DISTRIBUTED_STORAGE_DEFAULT_LOCATIONS: [] DISTRIBUTED_STORAGE_PREFERENCE: - default
2.6.4. OCS/NooBaa
以下 YAML 演示了使用 Open Container Storage/NooBaa 实例配置示例:
DISTRIBUTED_STORAGE_CONFIG: rhocsStorage: - RHOCSStorage - access_key: access_key_here secret_key: secret_key_here bucket_name: quay-datastore-9b2108a3-29f5-43f2-a9d5-2872174f9a56 hostname: s3.openshift-storage.svc.cluster.local is_secure: 'true' port: '443' storage_path: /datastorage/registry
2.6.5. Ceph / RadosGW Storage / Hitachi HCP
以下 YAML 显示了使用 Ceph/RadosGW 和 Hitachi HCP 存储的示例配置:
DISTRIBUTED_STORAGE_CONFIG: radosGWStorage: - RadosGWStorage - access_key: access_key_here secret_key: secret_key_here bucket_name: bucket_name_here hostname: hostname_here is_secure: 'true' port: '443' storage_path: /datastorage/registry DISTRIBUTED_STORAGE_DEFAULT_LOCATIONS: [] DISTRIBUTED_STORAGE_PREFERENCE: - default
2.6.6. AWS S3 存储
以下 YAML 显示了使用 AWS S3 存储的配置示例:
DISTRIBUTED_STORAGE_CONFIG: s3Storage: - S3Storage - host: s3.us-east-2.amazonaws.com s3_access_key: ABCDEFGHIJKLMN s3_secret_key: OL3ABCDEFGHIJKLMN s3_bucket: quay_bucket storage_path: /datastorage/registry DISTRIBUTED_STORAGE_DEFAULT_LOCATIONS: [] DISTRIBUTED_STORAGE_PREFERENCE: - s3Storage
2.6.7. Google Cloud Storage
以下 YAML 显示了使用 Google Cloud Storage 的示例配置:
DISTRIBUTED_STORAGE_CONFIG: googleCloudStorage: - GoogleCloudStorage - access_key: GOOGQIMFB3ABCDEFGHIJKLMN bucket_name: quay-bucket secret_key: FhDAYe2HeuAKfvZCAGyOioNaaRABCDEFGHIJKLMN storage_path: /datastorage/registry DISTRIBUTED_STORAGE_DEFAULT_LOCATIONS: [] DISTRIBUTED_STORAGE_PREFERENCE: - googleCloudStorage
2.6.8. Azure Storage
以下 YAML 演示了使用 Azure Storage 的示例配置:
DISTRIBUTED_STORAGE_CONFIG:
azureStorage:
- AzureStorage
- azure_account_name: azure_account_name_here
azure_container: azure_container_here
storage_path: /datastorage/registry
azure_account_key: azure_account_key_here
sas_token: some/path/
endpoint_url: https://[account-name].blob.core.usgovcloudapi.net 1
DISTRIBUTED_STORAGE_DEFAULT_LOCATIONS: []
DISTRIBUTED_STORAGE_PREFERENCE:
- azureStorage
- 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
.
2.6.9. Swift 存储
以下 YAML 显示了使用 Swift 存储的示例配置:
DISTRIBUTED_STORAGE_CONFIG: swiftStorage: - SwiftStorage - swift_user: swift_user_here swift_password: swift_password_here swift_container: swift_container_here auth_url: https://example.org/swift/v1/quay auth_version: 1 ca_cert_path: /conf/stack/swift.cert" storage_path: /datastorage/registry DISTRIBUTED_STORAGE_DEFAULT_LOCATIONS: [] DISTRIBUTED_STORAGE_PREFERENCE: - swiftStorage