9.2. 명령줄 인터페이스를 사용하여 오브젝트 버킷 클레임 생성
명령줄 인터페이스를 사용하여 OBC(오브젝트 버킷 클레임)를 생성할 때 구성 맵과 함께 애플리케이션에 오브젝트 스토리지 서비스를 사용하는 데 필요한 모든 정보가 포함된 시크릿이 제공됩니다.
사전 요구 사항
MCG(Multicloud Object Gateway) 명령줄 인터페이스를 다운로드합니다.
# subscription-manager repos --enable=rh-odf-4-for-rhel-8-x86_64-rpms # yum install mcg
참고서브스크립션 관리자를 사용하여 리포지토리를 활성화하기 위해 적절한 아키텍처를 지정합니다.
- IBM Power의 경우 다음 명령을 사용합니다.
# subscription-manager repos --enable=rh-odf-4-for-rhel-8-ppc64le-rpms
- IBM Z 인프라의 경우 다음 명령을 사용하십시오.
# subscription-manager repos --enable=rh-odf-4-for-rhel-8-s390x-rpms
절차
명령줄 인터페이스를 사용하여 새 버킷 및 자격 증명의 세부 정보를 생성합니다. 다음 명령을 실행합니다.
# noobaa obc create <obc-name> -n openshift-storage
<obc-name>
을 고유한 OBC 이름으로 교체합니다(예:myappobc
).또한
--app-namespace
옵션을 사용하여 OBC 구성 맵과 보안이 생성될 네임스페이스(예:myapp-namespace
)를 지정할 수 있습니다.출력 예:
INFO[0001] ✅ Created: ObjectBucketClaim "test21obc"
MCG 명령줄-인터페이스는 필요한 구성을 생성하고 OpenShift에 새로운 OBC에 대한 정보를 제공합니다.
다음 명령을 실행하여 OBC를 확인합니다.
# oc get obc -n openshift-storage
출력 예:
NAME STORAGE-CLASS PHASE AGE test21obc openshift-storage.noobaa.io Bound 38s
다음 명령을 실행하여 새 OBC의 YAML 파일을 확인합니다.
# oc get obc test21obc -o yaml -n openshift-storage
출력 예:
apiVersion: objectbucket.io/v1alpha1 kind: ObjectBucketClaim metadata: creationTimestamp: "2019-10-24T13:30:07Z" finalizers: - objectbucket.io/finalizer generation: 2 labels: app: noobaa bucket-provisioner: openshift-storage.noobaa.io-obc noobaa-domain: openshift-storage.noobaa.io name: test21obc namespace: openshift-storage resourceVersion: "40756" selfLink: /apis/objectbucket.io/v1alpha1/namespaces/openshift-storage/objectbucketclaims/test21obc uid: 64f04cba-f662-11e9-bc3c-0295250841af spec: ObjectBucketName: obc-openshift-storage-test21obc bucketName: test21obc-933348a6-e267-4f82-82f1-e59bf4fe3bb4 generateBucketName: test21obc storageClassName: openshift-storage.noobaa.io status: phase: Bound
openshift-storage
네임스페이스 내에서 이 OBC를 사용할 구성 맵과 시크릿을 찾을 수 있습니다. CM과 시크릿의 이름은 OBC와 동일합니다. 다음 명령을 실행하여 시크릿을 확인합니다.# oc get -n openshift-storage secret test21obc -o yaml
출력 예:
Example output: apiVersion: v1 data: AWS_ACCESS_KEY_ID: c0M0R2xVanF3ODR3bHBkVW94cmY= AWS_SECRET_ACCESS_KEY: Wi9kcFluSWxHRzlWaFlzNk1hc0xma2JXcjM1MVhqa051SlBleXpmOQ== kind: Secret metadata: creationTimestamp: "2019-10-24T13:30:07Z" finalizers: - objectbucket.io/finalizer labels: app: noobaa bucket-provisioner: openshift-storage.noobaa.io-obc noobaa-domain: openshift-storage.noobaa.io name: test21obc namespace: openshift-storage ownerReferences: - apiVersion: objectbucket.io/v1alpha1 blockOwnerDeletion: true controller: true kind: ObjectBucketClaim name: test21obc uid: 64f04cba-f662-11e9-bc3c-0295250841af resourceVersion: "40751" selfLink: /api/v1/namespaces/openshift-storage/secrets/test21obc uid: 65117c1c-f662-11e9-9094-0a5305de57bb type: Opaque
시크릿은 S3 액세스 자격 증명을 제공합니다.
다음 명령을 실행하여 구성 맵을 확인합니다.
# oc get -n openshift-storage cm test21obc -o yaml
출력 예:
apiVersion: v1 data: BUCKET_HOST: 10.0.171.35 BUCKET_NAME: test21obc-933348a6-e267-4f82-82f1-e59bf4fe3bb4 BUCKET_PORT: "31242" BUCKET_REGION: "" BUCKET_SUBREGION: "" kind: ConfigMap metadata: creationTimestamp: "2019-10-24T13:30:07Z" finalizers: - objectbucket.io/finalizer labels: app: noobaa bucket-provisioner: openshift-storage.noobaa.io-obc noobaa-domain: openshift-storage.noobaa.io name: test21obc namespace: openshift-storage ownerReferences: - apiVersion: objectbucket.io/v1alpha1 blockOwnerDeletion: true controller: true kind: ObjectBucketClaim name: test21obc uid: 64f04cba-f662-11e9-bc3c-0295250841af resourceVersion: "40752" selfLink: /api/v1/namespaces/openshift-storage/configmaps/test21obc uid: 651c6501-f662-11e9-9094-0a5305de57bb
구성 맵에는 애플리케이션의 S3 끝점 정보가 포함되어 있습니다.