23.2.3. GCP용 OpenShift Container Platform 레지스트리 구성
GCP(Google Cloud Platform)는 OpenShift Container Platform이 OpenShift Container Platform 컨테이너 이미지 레지스트리를 사용하여 컨테이너 이미지를 저장하는 데 사용할 수 있는 오브젝트 클라우드 스토리지를 제공합니다.
자세한 내용은 GCP 문서의 Cloud Storage를 참조하십시오.
사전 요구 사항
설치하기 전에 레지스트리 이미지를 호스팅할 버킷을 생성해야 합니다. 다음 명령은 구성된 서비스 계정을 사용하여 지역 버킷을 생성합니다.
버킷 데이터는 기본적으로 Google 관리 키를 사용하여 자동으로 암호화됩니다. 데이터를 암호화하기 위해 다른 키를 지정하려면 GCP에서 사용할 수 있는 데이터 암호화 옵션을 참조하십시오.
자세한 내용은 스토리지 버킷 생성 설명서 를 참조하십시오.
절차
GCP(Google Cloud Storage) 버킷을 사용하도록 레지스트리에 대한 Ansible 인벤토리 파일을 구성하려면 다음을 수행합니다.
자세한 내용은 GCP 문서의 Cloud Storage를 참조하십시오.
23.2.3.1. GCP용 OpenShift Container Platform 레지스트리 수동 구성 링크 복사링크가 클립보드에 복사되었습니다!
GCP 오브젝트 스토리지를 사용하려면 레지스트리의 구성 파일을 편집하고 레지스트리 Pod에 마운트합니다.
스토리지 드라이버 구성 파일에 대한 자세한 내용은 Google Cloud Storage Driver 설명서 를 참조하십시오.
절차
현재 /etc/registry/config.yml 파일을 내보냅니다.
oc get secret registry-config \ -o jsonpath='{.data.config\.yml}' -n default | base64 -d \ >> config.yml.old
$ oc get secret registry-config \ -o jsonpath='{.data.config\.yml}' -n default | base64 -d \ >> config.yml.old
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이전 /etc/registry/config.yml 파일에서 새 구성 파일을 만듭니다.
cp config.yml.old config.yml
$ cp config.yml.old config.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow GCP 매개변수를 포함하도록 파일을 편집합니다. 레지스트리 구성 파일의
스토리지
섹션에서 버킷 및 키 파일을 지정합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow registry-config
시크릿을 삭제합니다.oc delete secret registry-config -n default
$ oc delete secret registry-config -n default
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 업데이트된 구성 파일을 참조하도록 보안을 다시 생성합니다.
oc create secret generic registry-config \ --from-file=config.yml -n default
$ oc create secret generic registry-config \ --from-file=config.yml -n default
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 업데이트된 구성을 읽기 위해 레지스트리를 재배포합니다.
oc rollout latest docker-registry -n default
$ oc rollout latest docker-registry -n default
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
23.2.3.1.1. 레지스트리에서 GCP 오브젝트 스토리지를 사용하고 있는지 확인합니다. 링크 복사링크가 클립보드에 복사되었습니다!
레지스트리에서 GCP 버킷 스토리지를 사용하는지 확인하려면 다음을 수행합니다.
절차
GCP 스토리지를 사용하여 레지스트리를 성공적으로 배포한 후 레지스트리
deploymentconfig
는 레지스트리가 GCP 버킷 스토리지 대신emptydir
을 사용하는 경우 정보를 표시하지 않습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Pod의 수명을 공유하는 임시 디렉터리입니다.
/registry 마운트 지점이 비어 있는지 확인합니다. 이는 볼륨 GCP 스토리지에서 사용할 볼륨입니다.
oc exec \ $(oc get pod -l deploymentconfig=docker-registry \ -o=jsonpath='{.items[0].metadata.name}') -i -t -- ls -l /registry
$ oc exec \ $(oc get pod -l deploymentconfig=docker-registry \ -o=jsonpath='{.items[0].metadata.name}') -i -t -- ls -l /registry total 0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 비어 있는 경우 GCP 버킷 구성이
registry-config
시크릿에서 수행되기 때문입니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 설치 프로그램에서 설치 설명서의 Storage 에 표시된 대로 확장 레지스트리 기능을 사용하여 원하는 구성으로 config.yml 파일을 생성합니다. 스토리지 버킷 구성이 저장된
storage
섹션을 포함하여 구성 파일을 보려면 다음을 수행합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 또는 시크릿을 볼 수 있습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow GCP 콘솔에서 스토리지를 본 다음 브라우저를 클릭하고 버킷 을 선택하거나
gsutil
명령을 실행하여 이미지 내보내기에 성공했는지 확인할 수 있습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
emptyDir
볼륨을 사용하는 경우 /registry
마운트 지점은 다음과 유사합니다.