5.2. Multicloud Object Gateway CLI 및 YAML을 사용하여 네임스페이스 버킷 추가
네임스페이스 버킷에 대한 자세한 내용은 네임스페이스 버킷 관리를 참조하십시오.
배포 유형 및 YAML 또는 Multicloud Object Gateway CLI를 사용할지 여부에 따라 다음 절차 중 하나를 선택하여 네임 스페이스 버킷을 추가합니다.
5.2.1. YAML을 사용하여 AWS S3 네임 스페이스 버킷 추가
사전 요구 사항
- 실행 중인 OpenShift Container Storage Platform
- Multicloud Object Gateway에 액세스하고 2장, 애플리케이션을 사용하여 Multicloud Object Gateway에액세스
절차
인증 정보를 사용하여 보안을 생성합니다.
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> 및
대신 결과를 사용해야 합니다. ii.<
AWS SECRET ACCESS KEY ENCODED in BASE64><namespacestore-secret-name>
을 고유한 이름으로 바꿉니다.
-
Base64를 사용하여 자체 AWS 액세스 키 ID 및 시크릿 액세스 키를 제공하고 인코딩해야 하며
OpenShift CRD(Custom Resource Definitions)를 사용하여 네임스페이스 저장소 리소스를 생성합니다. 네임 스페이스 저장소는 Multicloud Object Gateway 네임 스페이스 버킷의 데이터에 대한 읽기 또는 쓰기 대상으로 사용할 기본 스토리지를 나타냅니다. 네임스페이스 저장소 리소스를 생성하려면 다음 YAML을 적용합니다.
apiVersion: noobaa.io/v1alpha1 kind: NamespaceStore metadata: finalizers: - noobaa.io/finalizer labels: app: noobaa name: <resource-name> namespace: openshift-storage spec: awsS3: secret: name: <namespacestore-secret-name> namespace: <namespace-secret> targetBucket: <target-bucket> type: aws-s3
-
<resource-name>
을 리소스에 제공할 이름으로 바꿉니다. -
<namespacestore-secret-name>
을 1 단계에서 생성된 보안으로 교체합니다. -
<namespace-secret>
을 보안을 찾을 수 있는 네임스페이스로 바꿉니다. -
<target-bucket>
을 네임 스페이스 저장소에 대해 생성한 대상 버킷으로 바꿉니다.
-
네임스페이스 버킷에 대한 네임스페이스 정책을 정의하는 네임스페이스 버킷 클래스를 생성합니다. 네임스페이스 정책에는
단일
또는multi
의 유형이 필요합니다.type
single
의 네임스페이스 정책에는 다음과 같은 구성이 필요합니다.apiVersion: noobaa.io/v1alpha1 kind: BucketClass metadata: labels: app: noobaa name: <my-bucket-class> namespace: openshift-storage spec: namespacePolicy: type: single: resource: <resource>
<my-bucket-class>
를 고유한 네임 스페이스 버킷 클래스 이름으로 바꿉니다.<resource>
를 네임 스페이스 버킷의 읽기 및 쓰기 대상을 정의할 단일 네임 스페이스 저장소의 이름으로 교체합니다.type
multi
의 네임스페이스 정책에는 다음과 같은 구성이 필요합니다.apiVersion: noobaa.io/v1alpha1 kind: BucketClass metadata: labels: app: noobaa name: <my-bucket-class> namespace: openshift-storage spec: namespacePolicy: type: Multi multi: writeResource: <write-resource> readResources: - <read-resources> - <read-resources>
<my-bucket-class>
를 고유한 버킷 클래스 이름으로 바꿉니다.<write-resource>
를 단일 네임 스페이스 저장소 이름으로 교체하여 네임 스페이스 버킷의 쓰기 대상을 정의합니다.<read-resources>
를 네임 스페이스 버킷의 읽기 대상을 정의할 namespace-stores의 이름 목록으로 바꿉니다.
다음 YAML을 적용하여 2단계에 정의된 버킷 클래스를 사용하는 OBC(개체 버킷 클래스) 리소스를 사용하여 버킷을 생성합니다.
apiVersion: objectbucket.io/v1alpha1 kind: ObjectBucketClaim metadata: name: <resource-name> namespace: openshift-storage spec: generateBucketName: <my-bucket> storageClassName: noobaa.noobaa.io additionalConfig: bucketclass: <my-bucket-class>
참고IBM Power Systems 및 IBM Z 인프라의 경우
openshift-storage.noobaa.io
로 usestorageClassName
-
<my-bucket-class>
를 이전 단계에서 생성한 버킷 클래스로 바꿉니다.
-
Operator가 OBC를 프로비저닝하면 Multicloud Object Gateway에서 버킷이 생성되고 Operator는 OBC의 동일한 네임스페이스에서 OBC의 동일한 이름으로 Secret 및 ConfigMap을 생성합니다.