3.8. Red Hat OpenShift Data Foundation의 레지스트리 설정


Red Hat OpenShift Data Foundation 스토리지를 사용하도록 베어 메탈 및 vSphere에 OpenShift 이미지 레지스트리를 구성하려면 OpenShift Data Foundation을 설치한 다음 Ceph 또는 Noobaa를 사용하여 이미지 레지스트리를 구성해야 합니다.

Red Hat OpenShift Data Foundation은 OpenShift 이미지 레지스트리에 사용할 수 있는 여러 스토리지 유형을 통합합니다.

  • 공유 및 분산 파일 시스템 및 온프레미스 오브젝트 스토리지인 Ceph
  • NooBaa: 멀티클라우드 오브젝트 게이트웨이를 제공

이 문서에서는 Ceph RGW 스토리지를 사용하도록 이미지 레지스트리를 구성하는 절차를 간략하게 설명합니다.

사전 요구 사항

  • cluster-admin 역할의 사용자로 클러스터에 액세스할 수 있어야 합니다.
  • OpenShift Container Platform 웹 콘솔에 액세스할 수 있습니다.
  • oc CLI를 설치했습니다.
  • 오브젝트 스토리지 및 Ceph RGW 오브젝트 스토리지를 제공하기 위해 OpenShift Data Foundation Operator 를 설치했습니다.

절차

  1. ocs-storagecluster-ceph-rgw 스토리지 클래스를 사용하여 오브젝트 버킷 클레임을 생성합니다. 예를 들면 다음과 같습니다.

    cat <<EOF | oc apply -f -
    apiVersion: objectbucket.io/v1alpha1
    kind: ObjectBucketClaim
    metadata:
      name: rgwbucket
      namespace: openshift-storage 
    1
    
    spec:
      storageClassName: ocs-storagecluster-ceph-rgw
      generateBucketName: rgwbucket
    EOF
    Copy to Clipboard Toggle word wrap
    1
    또는 openshift-image-registry 네임스페이스를 사용할 수 있습니다.
  2. 다음 명령을 입력하여 버킷 이름을 가져옵니다.

    $ bucket_name=$(oc get obc -n openshift-storage rgwbucket -o jsonpath='{.spec.bucketName}')
    Copy to Clipboard Toggle word wrap
  3. 다음 명령을 입력하여 AWS 인증 정보를 가져옵니다.

    $ AWS_ACCESS_KEY_ID=$(oc get secret -n openshift-storage rgwbucket -o jsonpath='{.data.AWS_ACCESS_KEY_ID}' | base64 --decode)
    Copy to Clipboard Toggle word wrap
    $ AWS_SECRET_ACCESS_KEY=$(oc get secret -n openshift-storage rgwbucket -o jsonpath='{.data.AWS_SECRET_ACCESS_KEY}' | base64 --decode)
    Copy to Clipboard Toggle word wrap
  4. 다음 명령을 입력하여 openshift-image-registry project에서 새 버킷에 대한 AWS 자격 증명으로 image-registry-private-configuration-user 시크릿을 생성합니다.

    $ oc create secret generic image-registry-private-configuration-user --from-literal=REGISTRY_STORAGE_S3_ACCESSKEY=${AWS_ACCESS_KEY_ID} --from-literal=REGISTRY_STORAGE_S3_SECRETKEY=${AWS_SECRET_ACCESS_KEY} --namespace openshift-image-registry
    Copy to Clipboard Toggle word wrap
  5. 다음 명령을 입력하여 경로 호스트를 가져옵니다.

    $ route_host=$(oc get route ocs-storagecluster-cephobjectstore -n openshift-storage --template='{{ .spec.host }}')
    Copy to Clipboard Toggle word wrap
  6. 다음 명령을 입력하여 수신 인증서를 사용하는 구성 맵을 생성합니다.

    $ oc extract secret/$(oc get ingresscontroller -n openshift-ingress-operator default -o json | jq '.spec.defaultCertificate.name // "router-certs-default"' -r) -n openshift-ingress --confirm
    Copy to Clipboard Toggle word wrap
    $ oc create configmap image-registry-s3-bundle --from-file=ca-bundle.crt=./tls.crt  -n openshift-config
    Copy to Clipboard Toggle word wrap
  7. 다음 명령을 입력하여 Ceph RGW 오브젝트 스토리지를 사용하도록 이미지 레지스트리를 구성합니다.

    $ oc patch config.image/cluster -p '{"spec":{"managementState":"Managed","replicas":2,"storage":{"managementState":"Unmanaged","s3":{"bucket":'\"${bucket_name}\"',"region":"us-east-1","regionEndpoint":'\"https://${route_host}\"',"virtualHostedStyle":false,"encrypt":false,"trustedCA":{"name":"image-registry-s3-bundle"}}}}}' --type=merge
    Copy to Clipboard Toggle word wrap

Red Hat OpenShift Data Foundation은 OpenShift 이미지 레지스트리에 사용할 수 있는 여러 스토리지 유형을 통합합니다.

  • 공유 및 분산 파일 시스템 및 온프레미스 오브젝트 스토리지인 Ceph
  • NooBaa: 멀티클라우드 오브젝트 게이트웨이를 제공

이 문서에서는 Noobaa 스토리지를 사용하도록 이미지 레지스트리를 구성하는 절차를 간략하게 설명합니다.

사전 요구 사항

  • cluster-admin 역할의 사용자로 클러스터에 액세스할 수 있어야 합니다.
  • OpenShift Container Platform 웹 콘솔에 액세스할 수 있습니다.
  • oc CLI를 설치했습니다.
  • 오브젝트 스토리지 및 Noobaa 오브젝트 스토리지를 제공하기 위해 OpenShift Data Foundation Operator 를 설치했습니다.

절차

  1. openshift-storage.noobaa.io 스토리지 클래스를 사용하여 오브젝트 버킷 클레임을 생성합니다. 예를 들면 다음과 같습니다.

    cat <<EOF | oc apply -f -
    apiVersion: objectbucket.io/v1alpha1
    kind: ObjectBucketClaim
    metadata:
      name: noobaatest
      namespace: openshift-storage 
    1
    
    spec:
      storageClassName: openshift-storage.noobaa.io
      generateBucketName: noobaatest
    EOF
    Copy to Clipboard Toggle word wrap
    1
    또는 openshift-image-registry 네임스페이스를 사용할 수 있습니다.
  2. 다음 명령을 입력하여 버킷 이름을 가져옵니다.

    $ bucket_name=$(oc get obc -n openshift-storage noobaatest -o jsonpath='{.spec.bucketName}')
    Copy to Clipboard Toggle word wrap
  3. 다음 명령을 입력하여 AWS 인증 정보를 가져옵니다.

    $ AWS_ACCESS_KEY_ID=$(oc get secret -n openshift-storage noobaatest -o yaml | grep -w "AWS_ACCESS_KEY_ID:" | head -n1 | awk '{print $2}' | base64 --decode)
    Copy to Clipboard Toggle word wrap
    $ AWS_SECRET_ACCESS_KEY=$(oc get secret -n openshift-storage noobaatest -o yaml | grep -w "AWS_SECRET_ACCESS_KEY:" | head -n1 | awk '{print $2}' | base64 --decode)
    Copy to Clipboard Toggle word wrap
  4. 다음 명령을 입력하여 openshift-image-registry project에서 새 버킷에 대한 AWS 자격 증명으로 image-registry-private-configuration-user 시크릿을 생성합니다.

    $ oc create secret generic image-registry-private-configuration-user --from-literal=REGISTRY_STORAGE_S3_ACCESSKEY=${AWS_ACCESS_KEY_ID} --from-literal=REGISTRY_STORAGE_S3_SECRETKEY=${AWS_SECRET_ACCESS_KEY} --namespace openshift-image-registry
    Copy to Clipboard Toggle word wrap
  5. 다음 명령을 입력하여 경로 호스트를 가져옵니다.

    $ route_host=$(oc get route s3 -n openshift-storage -o=jsonpath='{.spec.host}')
    Copy to Clipboard Toggle word wrap
  6. 다음 명령을 입력하여 수신 인증서를 사용하는 구성 맵을 생성합니다.

    $ oc extract secret/$(oc get ingresscontroller -n openshift-ingress-operator default -o json | jq '.spec.defaultCertificate.name // "router-certs-default"' -r) -n openshift-ingress --confirm
    Copy to Clipboard Toggle word wrap
    $ oc create configmap image-registry-s3-bundle --from-file=ca-bundle.crt=./tls.crt  -n openshift-config
    Copy to Clipboard Toggle word wrap
  7. 다음 명령을 입력하여 Nooba 오브젝트 스토리지를 사용하도록 이미지 레지스트리를 구성합니다.

    $ oc patch config.image/cluster -p '{"spec":{"managementState":"Managed","replicas":2,"storage":{"managementState":"Unmanaged","s3":{"bucket":'\"${bucket_name}\"',"region":"us-east-1","regionEndpoint":'\"https://${route_host}\"',"virtualHostedStyle":false,"encrypt":false,"trustedCA":{"name":"image-registry-s3-bundle"}}}}}' --type=merge
    Copy to Clipboard Toggle word wrap

Red Hat OpenShift Data Foundation은 OpenShift 이미지 레지스트리에 사용할 수 있는 여러 스토리지 유형을 통합합니다.

  • 공유 및 분산 파일 시스템 및 온프레미스 오브젝트 스토리지인 Ceph
  • NooBaa: 멀티클라우드 오브젝트 게이트웨이를 제공

이 문서에서는 CephFS 스토리지를 사용하도록 이미지 레지스트리를 구성하는 절차를 간략하게 설명합니다.

참고

CephFS는 PVC(영구 볼륨 클레임) 스토리지를 사용합니다. Ceph RGW 또는 Noobaa와 같은 다른 옵션을 사용할 수 있는 경우 이미지 레지스트리 스토리지에 PVC를 사용하지 않는 것이 좋습니다.

전제 조건

  • cluster-admin 역할의 사용자로 클러스터에 액세스할 수 있어야 합니다.
  • OpenShift Container Platform 웹 콘솔에 액세스할 수 있습니다.
  • oc CLI를 설치했습니다.
  • 오브젝트 스토리지 및 CephFS 파일 스토리지를 제공하기 위해 OpenShift Data Foundation Operator 를 설치했습니다.

절차

  1. cephfs 스토리지 클래스를 사용할 PVC를 생성합니다. 예를 들면 다음과 같습니다.

    cat <<EOF | oc apply -f -
    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
     name: registry-storage-pvc
     namespace: openshift-image-registry
    spec:
     accessModes:
     - ReadWriteMany
     resources:
       requests:
         storage: 100Gi
     storageClassName: ocs-storagecluster-cephfs
    EOF
    Copy to Clipboard Toggle word wrap
  2. 다음 명령을 입력하여 CephFS 파일 시스템 스토리지를 사용하도록 이미지 레지스트리를 구성합니다.

    $ oc patch config.image/cluster -p '{"spec":{"managementState":"Managed","replicas":2,"storage":{"managementState":"Unmanaged","pvc":{"claim":"registry-storage-pvc"}}}}' --type=merge
    Copy to Clipboard Toggle word wrap
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat