4.2. Multicloud Object Gateway를 OpenShift 이미지 레지스트리 백엔드 스토리지로 사용
온프레미스 OpenShift 배포에서 MCG(Multicloud Object Gateway)를 OCP(OpenShift Container Platform) 이미지 레지스트리 백엔드 스토리지로 사용할 수 있습니다.
MCG를 OCP 이미지 레지스트리의 백엔드 스토리지로 구성하려면 절차에 언급된 단계를 따르십시오.
사전 요구 사항
- OCP 웹 콘솔에 대한 관리 액세스.
- MCG가 있는 실행 중인 OpenShift Data Foundation 클러스터입니다.
프로시저
-
오브젝트 버킷 클레임
생성 단계에 따라 ObjectBucketClaim을 생성합니다. image-registry-private-configuration-user
시크릿을 생성합니다.- OpenShift 웹 콘솔로 이동합니다.
- ObjectBucketClaim - Cryostat ObjectBucketClaim Data 를 클릭합니다.
-
ObjectBucketClaim 데이터에서
openshift-image-registry 네임스페이스
에서MCG 액세스 키
및 MCG 시크릿 키를 다음 명령을 사용하여 시크릿을 생성합니다.
$ oc create secret generic image-registry-private-configuration-user --from-literal=REGISTRY_STORAGE_S3_ACCESSKEY=<MCG Accesskey> --from-literal=REGISTRY_STORAGE_S3_SECRETKEY=<MCG Secretkey> --namespace openshift-image-registry
Image Registry Operator의
managementState
상태를 Managed 로 변경합니다.$ oc patch configs.imageregistry.operator.openshift.io/cluster --type merge -p '{"spec": {"managementState": "Managed"}}'
Image Registry Operator 구성 파일의
spec.storage
섹션을 편집합니다.웹 콘솔의 Object Bucket Claim Data 섹션 아래의
unique-bucket-name
및regionEndpoint
를 가져오거나 명령에서 regionEndpoint 및 unique-bucket-name에 대한 정보를 가져올 수도 있습니다.$ oc describe noobaa
regionEndpoint
를 http://<Endpoint-name>:<port> 로 추가합니다.-
StorageClass는
ceph-rgw
storageclass 및 입니다. - endpoint는 openshift-storage 네임스페이스에서 내부 SVC를 가리킵니다.
-
StorageClass는
image-registry
Pod는 Operator 레지스트리 구성 파일을 변경한 후 생성됩니다.$ oc edit configs.imageregistry.operator.openshift.io -n openshift-image-registry apiVersion: imageregistry.operator.openshift.io/v1 kind: Config metadata: [..] name: cluster spec: [..] storage: s3: bucket: <Unique-bucket-name> region: us-east-1 (Use this region as default) regionEndpoint: https://<Endpoint-name>:<port> virtualHostedStyle: false
이미지 레지스트리 설정을 기본값으로 재설정합니다.
$ oc get pods -n openshift-image-registry
검증 단계
다음 명령을 실행하여 MCG를 OpenShift 이미지 레지스트리 백엔드 스토리지로 성공적으로 구성했는지 확인합니다.
$ oc get pods -n openshift-image-registry
출력 예
$ oc get pods -n openshift-image-registry NAME READY STATUS RESTARTS AGE cluster-image-registry-operator-56d78bc5fb-bxcgv 2/2 Running 0 44d image-pruner-1605830400-29r7k 0/1 Completed 0 10h image-registry-b6c8f4596-ln88h 1/1 Running 0 17d node-ca-2nxvz 1/1 Running 0 44d node-ca-dtwjd 1/1 Running 0 44d node-ca-h92rj 1/1 Running 0 44d node-ca-k9bkd 1/1 Running 0 44d node-ca-stkzc 1/1 Running 0 44d node-ca-xn8h4 1/1 Running 0 44d
(선택 사항) 다음 명령을 실행하여 MCG를 OpenShift 이미지 레지스트리 백엔드 스토리지로 성공적으로 구성했는지 확인할 수도 있습니다.
$ oc describe pod <image-registry-name>
출력 예
$ oc describe pod image-registry-b6c8f4596-ln88h Environment: REGISTRY_STORAGE_S3_REGIONENDPOINT: http://s3.openshift-storage.svc REGISTRY_STORAGE: s3 REGISTRY_STORAGE_S3_BUCKET: bucket-registry-mcg REGISTRY_STORAGE_S3_REGION: us-east-1 REGISTRY_STORAGE_S3_ENCRYPT: true REGISTRY_STORAGE_S3_VIRTUALHOSTEDSTYLE: false REGISTRY_STORAGE_S3_USEDUALSTACK: true REGISTRY_STORAGE_S3_ACCESSKEY: <set to the key 'REGISTRY_STORAGE_S3_ACCESSKEY' in secret 'image-registry-private-configuration'> Optional: false REGISTRY_STORAGE_S3_SECRETKEY: <set to the key 'REGISTRY_STORAGE_S3_SECRETKEY' in secret 'image-registry-private-configuration'> Optional: false REGISTRY_HTTP_ADDR: :5000 REGISTRY_HTTP_NET: tcp REGISTRY_HTTP_SECRET: 57b943f691c878e342bac34e657b702bd6ca5488d51f839fecafa918a79a5fc6ed70184cab047601403c1f383e54d458744062dcaaa483816d82408bb56e686f REGISTRY_LOG_LEVEL: info REGISTRY_OPENSHIFT_QUOTA_ENABLED: true REGISTRY_STORAGE_CACHE_BLOBDESCRIPTOR: inmemory REGISTRY_STORAGE_DELETE_ENABLED: true REGISTRY_OPENSHIFT_METRICS_ENABLED: true REGISTRY_OPENSHIFT_SERVER_ADDR: image-registry.openshift-image-registry.svc:5000 REGISTRY_HTTP_TLS_CERTIFICATE: /etc/secrets/tls.crt REGISTRY_HTTP_TLS_KEY: /etc/secrets/tls.key