3.2. 오브젝트 스토리지 구성


Operator가 스토리지를 관리하거나 직접 관리하는지 여부에 관계없이 Red Hat Quay를 설치하기 전에 오브젝트 스토리지를 구성해야 합니다.

Operator가 스토리지 관리를 담당하는 경우 NooBaa / RHOCS Operator 설치 및 구성에 대한 정보는 Managed 스토리지 의 섹션을 참조하십시오.

별도의 스토리지 솔루션을 사용하는 경우 Operator를 구성할 때 objectstorage관리되지 않음 으로 설정합니다. 다음 섹션을 참조하십시오. 기존 스토리지 구성에 대한 자세한 내용은 관리되지 않는 스토리지입니다.

3.2.1. 관리되지 않는 스토리지

관리되지 않는 스토리지에 대한 일부 구성 예는 편의를 위해 이 섹션에 제공됩니다. 오브젝트 스토리지 설정에 대한 자세한 내용은 Red Hat Quay 구성 가이드를 참조하십시오.

3.2.1.1. 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

3.2.1.2. Google Cloud 스토리지

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.2.1.3. Azure 스토리지

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.2.1.4. 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

3.2.1.5. 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.2.1.6. NooBaa 관리되지 않는 스토리지

다음 절차에 따라 NooBaa를 관리되지 않는 스토리지 구성으로 배포합니다.

절차

  1. 스토리지 오브젝트 버킷 클레임으로 이동하여 {product-title} 콘솔에 NooBaa 오브젝트 버킷 클레임 을 생성합니다.
  2. 액세스 키, 버킷 이름, 끝점(hostname) 및 시크릿 키를 포함하여 오브젝트 버킷 클레임 데이터 세부 정보를 검색합니다.
  3. 오브젝트 버킷 클레임에 대한 정보를 사용하여 config.yaml 구성 파일을 생성합니다.

    DISTRIBUTED_STORAGE_CONFIG:
      default:
        - RHOCSStorage
        - access_key: WmrXtSGk8B3nABCDEFGH
          bucket_name: my-noobaa-bucket-claim-8b844191-dc6c-444e-9ea4-87ece0abcdef
          hostname: s3.openshift-storage.svc.cluster.local
          is_secure: true
          port: "443"
          secret_key: X9P5SDGJtmSuHFCMSLMbdNCMfUABCDEFGH+C5QD
          storage_path: /datastorage/registry
    DISTRIBUTED_STORAGE_DEFAULT_LOCATIONS: []
    DISTRIBUTED_STORAGE_PREFERENCE:
      - default

오브젝트 버킷 클레임 구성에 대한 자세한 내용은 오브젝트 버킷 클레임을 참조하십시오.

3.2.2. 관리형 스토리지

Operator에서 Quay의 오브젝트 스토리지를 관리하려면 클러스터에서 ObjectBucketClaim API를 통해 오브젝트 스토리지를 제공할 수 있어야 합니다. Red Hat OpenShift Data Foundation (ODF) Operator를 사용하면 다음과 같은 두 가지 지원 옵션을 사용할 수 있습니다.

  • 로컬 Kubernetes PersistentVolume 스토리지에서 지원하는 Multi-Cloud Object Gateway의 독립 실행형 인스턴스

    • 고가용성이 아님
    • Quay 서브스크립션에 포함
    • ODF에 별도의 서브스크립션이 필요하지 않음
  • 스케일 아웃 오브젝트 서비스 및 Ceph를 사용하는 ODF 프로덕션 배포

    • 고가용성
    • ODF에 대한 별도의 서브스크립션이 필요합니다.

독립 실행형 인스턴스 옵션을 사용하려면 아래에서 계속 읽습니다. ODF의 프로덕션 배포는 공식 문서를 참조하십시오.

참고

오브젝트 스토리지 디스크 공간은 50GiB를 사용하여 Operator에서 자동으로 할당합니다. 이 숫자는 중소 규모의 Red Hat Quay 설치에 사용할 수 있는 스토리지 용량을 나타내지만 사용 사례에는 충분하지 않을 수 있습니다. RHOCS 볼륨의 크기 조정은 현재 Operator에서 처리되지 않습니다. 자세한 내용은 관리 스토리지 크기 조정에 대한 아래 섹션을 참조하십시오.

3.2.2.1. 독립 실행형 오브젝트 게이트웨이 정보

Red Hat Quay 서브스크립션의 일부로 사용자는 Red Hat OpenShift Data Foundation Operator (이전의 OpenShift Container Storage Operator라고도 함)의 MCG( Multi-Cloud Object Gateway ) 구성 요소를 사용할 수 있습니다. 이 게이트웨이 구성 요소를 사용하면 Kubernetes PersistentVolume기반 블록 스토리지로 지원하는 Quay에 S3 호환 오브젝트 스토리지 인터페이스를 제공할 수 있습니다. 사용법은 Operator가 관리하는 Quay 배포와 아래에 설명된 대로 MCG 인스턴스의 정확한 사양으로 제한됩니다.

Red Hat Quay는 로컬 파일 시스템 스토리지를 지원하지 않으므로 사용자는 Kubernetes PersistentVolume 스토리지와 함께 게이트웨이를 활용하여 지원되는 배포를 제공할 수 있습니다. PersistentVolume 은 오브젝트 스토리지의 백업 저장소로 게이트웨이 인스턴스에 직접 마운트되며 모든 블록 기반 StorageClass 가 지원됩니다.

PersistentVolume 의 특성상 고가용성 솔루션이 아니며 Red Hat OpenShift Data Foundation(ODF)과 같은 스케일 아웃 스토리지 시스템을 대체하지 않습니다. 게이트웨이의 단일 인스턴스만 실행되고 있습니다. 일정 변경, 업데이트 또는 계획되지 않은 다운타임으로 인해 게이트웨이를 실행 중인 Pod를 사용할 수 없게 되면 연결된 Quay 인스턴스가 일시적으로 저하됩니다.

3.2.2.1.1. 독립 실행형 오브젝트 게이트웨이 생성

ODF (이전 OpenShift Container Storage) Operator를 설치하고 단일 인스턴스 Multi-Cloud Gateway 서비스를 구성하려면 다음 단계를 따르십시오.

  1. OpenShift 콘솔을 열고 Operator OperatorHub를 선택한 다음 OpenShift Data Foundation Operator를 선택합니다.
  2. 설치를 선택합니다. 모든 기본 옵션을 수락하고 다시 설치를 선택합니다.
  3. 1분 이내에 Operator는 네임스페이스 openshift-storage 를 설치하고 생성합니다. Status 열이 Succeeded 로 표시되면 완료되었는지 확인할 수 있습니다.

    When the installation of the ODF Operator is complete, you are prompted to create a storage system. Do not follow this instruction. Instead, create NooBaa object storage as outlined the following steps.
  4. NooBaa 오브젝트 스토리지를 생성합니다. 다음 YAML을 noobaa.yaml 이라는 파일에 저장합니다.

    apiVersion: noobaa.io/v1alpha1
    kind: NooBaa
    metadata:
      name: noobaa
      namespace: openshift-storage
    spec:
     dbResources:
       requests:
         cpu: '0.1'
         memory: 1Gi
     dbType: postgres
     coreResources:
       requests:
         cpu: '0.1'
         memory: 1Gi

    그러면 Multi-cloud Object Gateway 의 단일 인스턴스 배포가 생성됩니다.

  5. 다음 명령을 사용하여 구성을 적용합니다.

    $ oc create -n openshift-storage -f noobaa.yaml
    noobaa.noobaa.io/noobaa created
  6. 몇 분 후 MCG 인스턴스가 프로비저닝을 완료했음을 확인할 수 있습니다(PHASE 열이 Ready로 설정됨).

    $ oc get -n openshift-storage noobaas noobaa -w
    NAME     MGMT-ENDPOINTS              S3-ENDPOINTS                IMAGE                                                                                                            PHASE   AGE
    noobaa   [https://10.0.32.3:30318]   [https://10.0.32.3:31958]   registry.redhat.io/ocs4/mcg-core-rhel8@sha256:56624aa7dd4ca178c1887343c7445a9425a841600b1309f6deace37ce6b8678d   Ready   3d18h
  7. 다음으로 게이트웨이에 대한 백업 저장소를 구성합니다. 다음 YAML을 noobaa-pv-backing-store.yaml 파일에 저장합니다.

    noobaa-pv-backing-store.yaml

    apiVersion: noobaa.io/v1alpha1
    kind: BackingStore
    metadata:
      finalizers:
      - noobaa.io/finalizer
      labels:
        app: noobaa
      name: noobaa-pv-backing-store
      namespace: openshift-storage
    spec:
      pvPool:
        numVolumes: 1
        resources:
          requests:
            storage: 50Gi 
    1
    
        storageClass: STORAGE-CLASS-NAME 
    2
    
      type: pv-pool

    1
    오브젝트 스토리지 서비스의 전반적인 용량은 필요에 따라 조정
    2
    요청된 PersistentVolumes 에 사용할 StorageClass, 클러스터 기본값을 사용하도록 이 속성을 삭제합니다.
  8. 다음 명령을 사용하여 구성을 적용합니다.

    $ oc create -f noobaa-pv-backing-store.yaml
    backingstore.noobaa.io/noobaa-pv-backing-store created

    이렇게 하면 게이트웨이에 대한 백업 저장소 구성이 생성됩니다. Quay의 모든 이미지는 위의 구성으로 생성된 PersistentVolume 의 게이트웨이를 통해 오브젝트로 저장됩니다.

  9. 마지막으로 다음 명령을 실행하여 Operator에서 발행한 모든 ObjectBucketClaim의 PersistentVolume 백업 저장소를 기본으로 설정합니다.

    $ oc patch bucketclass noobaa-default-bucket-class --patch '{"spec":{"placementPolicy":{"tiers":[{"backingStores":["noobaa-pv-backing-store"]}]}}}' --type merge -n openshift-storage

이렇게 하면 Red Hat Quay에 대한 Multi-Cloud Object Gateway 인스턴스 설정이 완료됩니다. 이 구성은 Red Hat OpenShift Data Foundation이 설치된 클러스터에서 병렬로 실행할 수 없습니다.

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동