3.6. イメージストレージ
このセクションでは、Red Hat Quay で利用可能なイメージストレージ機能と設定フィールドを説明します。
3.6.1. イメージストレージ機能
以下の表は、Red Hat Quay のイメージストレージ機能を説明しています。
フィールド | 型 | 説明 |
---|---|---|
FEATURE_REPO_MIRROR | Boolean |
true に設定されている場合は、リポジトリーのミラーリングを有効にします。 |
FEATURE_PROXY_STORAGE | Boolean |
NGINX を使用してストレージ内のすべての直接ダウンロード URL をプロキシーするかどうか。 |
FEATURE_STORAGE_REPLICATION | Boolean |
ストレージエンジン間で自動的にレプリケートするかどうか。 |
3.6.2. イメージストレージ設定フィールド
以下の表は、Red Hat Quay のイメージストレージ設定フィールドを説明しています。
フィールド | 型 | 説明 |
---|---|---|
DISTRIBUTED_STORAGE_CONFIG | Object |
Red Hat Quay で使用するストレージエンジンの設定。各キーは、ストレージエンジンの一意の ID を表します。この値は、ストレージエンジンパラメーターを記述するオブジェクトのタプル (キー、値) で設定されます。 |
DISTRIBUTED_STORAGE_DEFAULT_LOCATIONS | Array of string |
イメージをデフォルトで他のすべてのストレージエンジンに対して完全にレプリケートする必要のあるストレージエンジンの一覧 ( |
DISTRIBUTED_STORAGE_PREFERENCE | Array of string |
使用する優先ストレージエンジン ( |
MAXIMUM_LAYER_SIZE | String |
イメージレイヤーの最大許容サイズ。 |
3.6.3. ローカルストレージ
以下の YAML は、ローカルストレージを使用した設定のサンプルを示しています。
DISTRIBUTED_STORAGE_CONFIG: default: - LocalStorage - storage_path: /datastorage/registry DISTRIBUTED_STORAGE_DEFAULT_LOCATIONS: [] DISTRIBUTED_STORAGE_PREFERENCE: - default
3.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
3.6.5. Ceph/RadosGW ストレージ
次の例は、Ceph/RadosGW を使用する場合に考えられる 2 つの YAML 設定を示しています。
例 A: radosGWStorage ドライバーで RadosGW を使用する
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
例 B: 一般的な s3 アクセスで RadosGW を使用する
DISTRIBUTED_STORAGE_CONFIG:
s3Storage: 1
- RadosGWStorage
- access_key: <access_key_here>
bucket_name: <bucket_name_here>
hostname: <hostname_here>
is_secure: true
secret_key: <secret_key_here>
storage_path: /datastorage/registry
- 1
- 一般的な s3 アクセスに使用します。一般的な s3 アクセスは、厳密には Amazon Web Services (AWS) 3 に限定されず、RadosGW または他のストレージサービスでも使用できることに注意してください。AWS S3 ドライバーを使用した一般的な s3 アクセスの例については、「AWS S3 ストレージ」を参照してください。
3.6.6. AWS S3 ストレージ
以下の YAML は、AWS S3 ストレージを使用した設定のサンプルを示しています。
DISTRIBUTED_STORAGE_CONFIG:
default:
- S3Storage 1
- 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
- 1
S3Storage
ストレージドライバーは、AWS S3 バケットにのみ使用してください。これは、RadosGW ドライバーや他のストレージサービスを使用できる一般的な S3 アクセスとは異なることに注意してください。例については、「例 B: 一般的な S3 アクセスで RadosGW を使用する」を参照してください。
3.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
3.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 サービスのセカンダリーエンドポイントを使用すると、
AuthenticationErrorDetail:Cannot find the claimed account when trying to GetProperties for the account whusc8-secondary
エラーが発生します。
3.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
3.6.10. Nutanix オブジェクトストレージ
以下の YAML は、Nutanix オブジェクトストレージを使用した設定例を示しています。
DISTRIBUTED_STORAGE_CONFIG: nutanixStorage: #storage config name - RadosGWStorage #actual driver - access_key: access_key_here #parameters 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: #must contain name of the storage config - nutanixStorage