Menu Close
Settings Close

Language and Page Formatting Options

9장. 오브젝트 버킷의 캐싱 정책

캐시 버킷은 hub 대상 및 캐시 대상이 있는 네임스페이스 버킷입니다. hub 대상은 S3 호환 가능한 대형 오브젝트 스토리지 버킷입니다. 캐시 버킷은 로컬 Multicloud Object Gateway 버킷입니다. AWS 버킷 또는 IBM COS 버킷을 캐시하는 캐시 버킷을 생성할 수 있습니다.

9.1. AWS 캐시 버킷 생성

사전 요구 사항

  • MCG(Multicloud Object Gateway) 명령줄 인터페이스를 다운로드합니다.

    # subscription-manager repos --enable=rh-ocs-4-for-rhel-8-x86_64-rpms
    # yum install mcg
    참고

    서브스크립션 관리자를 사용하여 리포지토리를 활성화하기 위한 적절한 아키텍처를 지정합니다. 예를 들어 IBM Z 인프라의 경우 다음 명령을 사용합니다.

    # subscription-manager repos --enable=rh-ocs-4-for-rhel-8-s390x-rpms

    또는 https://access.redhat.com/downloads/content/547/ver=4/rhel---8/4/x86_64/package 에 있는 OpenShift Container Storage RPM에서 mcg 패키지를 설치할 수도 있습니다.

    참고

    아키텍처에 따라 올바른 제품 변형을 선택합니다.

절차

  1. 네임스페이스 저장소 리소스를 생성합니다. 네임 스페이스 저장소는 Multicloud Object Gateway 네임 스페이스 버킷의 데이터에 대한 읽기 또는 쓰기 대상으로 사용할 기본 스토리지를 나타냅니다. MCG 명령줄 인터페이스에서 다음 명령을 실행합니다.

    noobaa namespacestore create aws-s3 <namespacestore> --access-key <AWS ACCESS KEY> --secret-key <AWS SECRET ACCESS KEY> --target-bucket <bucket-name>
    1. <namespacestore> 를 네임스페이스 저장소의 이름으로 바꿉니다.
    2. <AWS ACCESS KEY><AWS SECRET ACCESS KEY> 를 이 목적을 위해 생성한 AWS 액세스 키 ID 및 시크릿 액세스 키로 바꿉니다.
    3. <bucket-name> 을 기존 AWS 버킷 이름으로 바꿉니다. 이 인수는 Multicloud Object Gateway에 백업 저장소에 대상 버킷으로 사용할 버킷과 그 다음에는 데이터 스토리지 및 관리에 지시합니다.

      YAML을 적용하여 스토리지 리소스를 추가할 수도 있습니다. 먼저 인증 정보를 사용하여 보안을 생성합니다.

      apiVersion: v1
      kind: Secret
      metadata:
        name: <namespacestore-secret-name>
      type: Opaque
      data:
        AWS_ACCESS_KEY_ID: <AWS ACCESS KEY ID ENCODED IN BASE64>
        AWS_SECRET_ACCESS_KEY: <AWS SECRET ACCESS KEY ENCODED IN BASE64>

      Base64를 사용하여 자체 AWS 액세스 키 ID 및 시크릿 액세스 키를 제공하고 인코딩해야 하며 <AWS ACCESS KEY ID ENCODED in BASE64> 및 < AWS SECRET ACCESS KEY ENCODED in BASE64> 대신 결과를 사용해야 합니다.

      <namespacestore-secret-name> 을 고유한 이름으로 바꿉니다.

      그런 다음 다음 YAML을 적용합니다.

      apiVersion: noobaa.io/v1alpha1
      kind: NamespaceStore
      metadata:
        finalizers:
        - noobaa.io/finalizer
        labels:
          app: noobaa
        name: <namespacestore>
        namespace: openshift-storage
      spec:
        awsS3:
          secret:
            name: <namespacestore-secret-name>
            namespace: <namespace-secret>
          targetBucket: <target-bucket>
        type: aws-s3
    4. <namespacestore> 를 고유한 이름으로 바꿉니다.
    5. <namespacestore-secret-name> 을 이전 단계에서 생성한 보안으로 바꿉니다.
    6. <namespace-secret> 을 이전 단계에서 보안을 생성하는 데 사용된 네임스페이스로 바꿉니다.
    7. <target-bucket> 을 네임스페이스 저장소용으로 생성한 AWS S3 버킷으로 바꿉니다.
  2. 다음 명령을 실행하여 버킷 클래스를 생성합니다.

    noobaa bucketclass create namespace-bucketclass cache <my-cache-bucket-class> --backingstores <backing-store> --hub-resource <namespacestore>
    1. <my-cache-bucket-class> 를 고유한 버킷 클래스 이름으로 바꿉니다.
    2. <backing-store> 를 관련 백업 저장소로 바꿉니다. 이 필드에 쉼표로 구분된 하나 이상의 백업 저장소를 나열할 수 있습니다.
    3. <namespacestore> 를 이전 단계에서 생성한 네임스페이스 저장소로 바꿉니다.
  3. 다음 명령을 실행하여 2단계에 정의된 버킷 클래스를 사용하는 개체 버킷 클레임 리소스를 사용하여 버킷을 생성합니다.

    noobaa obc create <my-bucket-claim> my-app --bucketclass <custom-bucket-class>
    1. <my-bucket-claim> 을 고유한 이름으로 바꿉니다.
    2. <custom-bucket-class> 를 2단계에서 생성된 버킷 클래스의 이름으로 바꿉니다.