11장. 오브젝트 버킷의 캐싱 정책
캐시 버킷은 hub 대상 및 캐시 대상이 있는 네임스페이스 버킷입니다. hub 대상은 S3 호환 가능한 대형 오브젝트 스토리지 버킷입니다. 캐시 버킷은 로컬 MCG(Multicloud Object Gateway) 버킷입니다. AWS 버킷 또는 IBM COS 버킷을 캐시하는 캐시 버킷을 생성할 수 있습니다.
11.1. AWS 캐시 버킷 생성
사전 요구 사항
MCG(Multicloud Object Gateway) 명령줄 인터페이스를 다운로드합니다.
# subscription-manager repos --enable=rh-odf-4-for-rhel-8-x86_64-rpms # yum install mcg
참고서브스크립션 관리자를 사용하여 리포지토리를 활성화하기 위한 적절한 아키텍처를 지정합니다. IBM Z 인프라의 경우 다음 명령을 사용합니다.
# subscription-manager repos --enable=rh-odf-4-for-rhel-8-s390x-rpms
또는 https://access.redhat.com/downloads/content/547/ver=4/rhel---8/4/x86_64/package 에 있는 OpenShift Data Foundation RPM에서 MCG 패키지를 설치할 수도 있습니다.
참고아키텍처에 따라 올바른 제품 변형을 선택합니다.
절차
네임스페이스 저장소 리소스를 생성합니다. 네임 스페이스 저장소는 MCG 네임 스페이스 버킷의 데이터에 대한 읽기 또는 쓰기 대상으로 사용할 기본 스토리지를 나타냅니다. 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 버킷 이름으로 바꿉니다. 이 인수는 MCG에 백업 저장소에 대상 버킷으로 사용할 버킷을 알려줍니다. 그런 다음 데이터 스토리지 및 관리에 사용됩니다.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단계에 정의된 버킷 클래스를 사용하는 OBC(개체 버킷 클레임) 리소스를 사용하여 버킷을 생성합니다.
noobaa obc create <my-bucket-claim> my-app --bucketclass <custom-bucket-class>
-
<my-bucket-claim>
을 고유한 이름으로 바꿉니다. -
<custom-bucket-class>
를 2단계에서 생성된 버킷 클래스의 이름으로 바꿉니다.
-