8.2. 명령줄 인터페이스를 사용하여 개체 버킷 클레임 생성

명령줄 인터페이스를 사용하여 오브젝트 버킷 클레임을 생성할 때 구성 맵과 시크릿이 함께 제공됩니다. 이 시크릿에는 애플리케이션에서 오브젝트 스토리지 서비스를 사용하는 데 필요한 모든 정보가 포함됩니다.

사전 요구 사항

  • MCG 명령줄 인터페이스를 다운로드합니다.

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

    서브스크립션 관리자를 사용하여 리포지토리를 활성화하기 위한 적절한 아키텍처를 지정합니다. 예를 들면 다음과 같습니다.

    • IBM Power Systems의 경우 다음 명령을 사용합니다.
    # subscription-manager repos --enable=rh-ocs-4-for-rhel-8-ppc64le-rpms
    • IBM Z 인프라의 경우 다음 명령을 사용합니다.
    # subscription-manager repos --enable=rh-ocs-4-for-rhel-8-s390x-rpms

절차

  1. 명령줄 인터페이스를 사용하여 새 버킷 및 자격 증명의 세부 정보를 생성합니다. 다음 명령을 실행합니다.

    # noobaa obc create <obc-name> -n openshift-storage

    <obc-name> 을 고유한 개체 버킷 클레임 이름으로 바꿉니다(예: myappobc ).

    또한 --app-namespace 옵션을 사용하여 오브젝트 버킷 클레임 구성 맵과 시크릿이 생성되는 네임스페이스(예: myapp-namespace )를 지정할 수 있습니다.

    출력 예:

    INFO[0001] ✅ Created: ObjectBucketClaim "test21obc"

    MCG 명령줄-인터페이스에서 필요한 구성을 생성하고 OpenShift에 새 OBC에 대해 알립니다.

  2. 다음 명령을 실행하여 개체 버킷 클레임을 확인합니다.

    # oc get obc -n openshift-storage

    출력 예:

    NAME        STORAGE-CLASS                 PHASE   AGE
    test21obc   openshift-storage.noobaa.io   Bound   38s
  3. 다음 명령을 실행하여 새 오브젝트 버킷 클레임에 대한 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
  4. openshift-storage 네임스페이스 내에서 이 오브젝트 버킷 클레임을 사용하는 구성 맵과 시크릿을 찾을 수 있습니다. CM 및 시크릿의 이름은 개체 버킷 클레임과 동일합니다. 시크릿을 보려면 다음을 수행합니다.

    # 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 액세스 자격 증명을 제공합니다.

  5. 구성 맵을 보려면 다음을 수행합니다.

    # 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 끝점 정보가 포함되어 있습니다.