11장. 오브젝트 버킷 클레임


오브젝트 버킷 클레임을 사용하여 워크로드에 대해 S3 호환 버킷 백엔드를 요청할 수 있습니다.

다음 세 가지 방법으로 Object Bucket Claim을 생성할 수 있습니다.

오브젝트 버킷 클레임은 새 액세스 키 및 시크릿 액세스 키를 포함하여 버킷에 대한 권한이 있는 NooBa의 새 버킷과 애플리케이션 계정을 생성합니다. 애플리케이션 계정은 단일 버킷에만 액세스할 수 있으며 기본적으로 새 버킷을 생성할 수 없습니다.

11.1. 동적 오브젝트 버킷 클레임

영구 볼륨과 유사하게 OBC(Object Bucket claim)의 세부 정보를 애플리케이션 YAML에 추가하고 구성 맵 및 시크릿에서 사용할 수 있는 오브젝트 서비스 엔드포인트, 액세스 키 및 시크릿 액세스 키를 가져올 수 있습니다. 이 정보를 애플리케이션의 환경 변수로 동적으로 읽을 수 있습니다.

참고

Multicloud Object Gateway 엔드포인트는 OpenShift에서 자체 서명된 인증서를 사용하는 경우에만 자체 서명된 인증서를 사용합니다. OpenShift에서 서명된 인증서를 사용하면 Multicloud Object Gateway 엔드포인트 인증서를 서명된 인증서로 자동으로 대체합니다. 브라우저를 통해 엔드포인트에 액세스하여 Multicloud Object Gateway에서 현재 사용하는 인증서를 가져옵니다. 자세한 내용은 애플리케이션을 사용하여 Multicloud Object Gateway 액세스를 참조하십시오.

프로세스

  1. 애플리케이션 YAML에 다음 행을 추가합니다.

    apiVersion: objectbucket.io/v1alpha1
    kind: ObjectBucketClaim
    metadata:
      name: <obc-name>
    spec:
      generateBucketName: <obc-bucket-name>
      storageClassName: openshift-storage.noobaa.io

    이 라인은 OBC 자체입니다.

    1. & lt;obc-name& gt;을 고유한 OBC 이름으로 바꿉니다.
    2. & lt;obc-bucket-name& gt;을 OBC의 고유한 버킷 이름으로 바꿉니다.
  2. OBC 사용을 자동화하려면 YAML 파일에 더 많은 행을 추가합니다.

    예를 들면 다음과 같습니다.

    apiVersion: batch/v1
    kind: Job
    metadata:
      name: testjob
    spec:
      template:
        spec:
          restartPolicy: OnFailure
          containers:
            - image: <your application image>
              name: test
              env:
                - name: BUCKET_NAME
                  valueFrom:
                    configMapKeyRef:
                      name: <obc-name>
                      key: BUCKET_NAME
                - name: BUCKET_HOST
                  valueFrom:
                    configMapKeyRef:
                      name: <obc-name>
                      key: BUCKET_HOST
                - name: BUCKET_PORT
                  valueFrom:
                    configMapKeyRef:
                      name: <obc-name>
                      key: BUCKET_PORT
                - name: AWS_ACCESS_KEY_ID
                  valueFrom:
                    secretKeyRef:
                      name: <obc-name>
                      key: AWS_ACCESS_KEY_ID
                - name: AWS_SECRET_ACCESS_KEY
                  valueFrom:
                    secretKeyRef:
                      name: <obc-name>
                      key: AWS_SECRET_ACCESS_KEY

    이 예제에서는 버킷 클레임 결과 간의 매핑입니다. 이는 데이터가 있는 구성 맵과 인증 정보가 있는 시크릿을 사용하는 구성 맵입니다. 이 특정 작업은 NooBaa의 Object Bucket을 클레임하여 버킷과 계정을 생성합니다.

    1. < obc-name >의 모든 인스턴스를 OBC 이름으로 바꿉니다.
    2. &lt ;Your application image&gt;를 애플리케이션 이미지로 바꿉니다.
  3. 업데이트된 YAML 파일을 적용합니다.

    # oc apply -f <yaml.file>

    & lt;yaml.file& gt;을 YAML 파일의 이름으로 바꿉니다.

  4. 새 구성 맵을 보려면 다음을 실행합니다.

    # oc get cm <obc-name> -o yaml

    obc-name 을 OBC의 이름으로 바꿉니다.

    출력에서 다음 환경 변수를 기대할 수 있습니다.

    • BUCKET_HOST - 애플리케이션에서 사용할 끝점입니다.
    • BUCKET_PORT - 애플리케이션에 사용할 수 있는 포트입니다.

    • BUCKET_NAME - 요청되거나 생성된 버킷 이름입니다.
    • AWS_ACCESS_KEY_ID - 인증 정보의 일부인 액세스 키입니다.
    • AWS_SECRET_ACCESS_KEY - 인증 정보의 일부인 시크릿 액세스 키입니다.
중요

AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY 를 검색합니다. 이름은 AWS S3 API와 호환되도록 사용됩니다. 특히 MCG(Multicloud Object Gateway) 버킷에서 읽기, 쓰기 또는 나열할 때 S3 작업을 수행하는 동안 키를 지정해야 합니다. 키는 Base64로 인코딩됩니다. 사용하기 전에 키를 디코딩합니다.

# oc get secret <obc_name> -o yaml
<obc_name>
오브젝트 버킷 클레임의 이름을 지정합니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.