10.9. 오브젝트 버킷의 캐싱 정책
캐시 버킷은 hub 대상 및 캐시 대상이 있는 네임스페이스 버킷입니다. hub 대상은 S3 호환 가능한 대형 오브젝트 스토리지 버킷입니다. 캐시 버킷은 로컬 Multicloud Object Gateway 버킷입니다. AWS 버킷 또는 IBM COS 버킷을 캐시하는 캐시 버킷을 생성할 수 있습니다.
캐시 버킷은 기술 프리뷰 기능입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
10.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 패키지를 설치할 수도 있습니다.
참고아키텍처에 따라 올바른 제품 변형을 선택합니다.
절차
네임스페이스 저장소 리소스를 생성합니다. 네임 스페이스 저장소는 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>
-
<namespacestore>
를 네임스페이스 저장소의 이름으로 바꿉니다. -
<AWS ACCESS KEY>
및<AWS SECRET ACCESS KEY>
를 이 목적을 위해 생성한 AWS 액세스 키 ID 및 시크릿 액세스 키로 바꿉니다. <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
-
<namespacestore>
를 고유한 이름으로 바꿉니다. -
<namespacestore-secret-name>
을 이전 단계에서 생성한 보안으로 바꿉니다. -
<namespace-secret>
을 이전 단계에서 보안을 생성하는 데 사용된 네임스페이스로 바꿉니다. -
<target-bucket>
을 네임스페이스 저장소용으로 생성한 AWS S3 버킷으로 바꿉니다.
-
다음 명령을 실행하여 버킷 클래스를 생성합니다.
noobaa bucketclass create namespace-bucketclass cache <my-cache-bucket-class> --backingstores <backing-store> --hub-resource <namespacestore>
-
<my-cache-bucket-class>
를 고유한 버킷 클래스 이름으로 바꿉니다. -
<backing-store>
를 관련 백업 저장소로 바꿉니다. 이 필드에 쉼표로 구분된 하나 이상의 백업 저장소를 나열할 수 있습니다. -
<namespacestore>
를 이전 단계에서 생성한 네임스페이스 저장소로 바꿉니다.
-
다음 명령을 실행하여 2단계에 정의된 버킷 클래스를 사용하는 개체 버킷 클레임 리소스를 사용하여 버킷을 생성합니다.
noobaa obc create <my-bucket-claim> my-app --bucketclass <custom-bucket-class>
-
<my-bucket-claim>
을 고유한 이름으로 바꿉니다. -
<custom-bucket-class>
를 2단계에서 생성된 버킷 클래스의 이름으로 바꿉니다.
-