13.5. 내부 레지스트리에 액세스
OpenShift Container Platform의 내부 레지스트리에 직접 액세스하여 이미지를 푸시하거나 가져올 수 있습니다. 예를 들어 이미지를 수동으로 내보내거나 이미지를 직접 가져오기
만 하면 이미지 스트림을 생성 하려는 경우 유용할 수 있습니다.
내부 레지스트리는 OpenShift Container Platform API와 동일한 토큰 을 사용하여 인증합니다. 내부 레지스트리에 대해 Docker
로그인을 수행하려면 사용자 이름 및 이메일을 선택할 수 있지만 암호는 유효한 OpenShift Container Platform 토큰이어야 합니다.
내부 레지스트리에 로그인하려면 다음을 수행합니다.
OpenShift Container Platform에 로그인합니다.
$ oc login
액세스 토큰을 가져옵니다.
$ oc whoami -t
토큰을 사용하여 내부 레지스트리에 로그인합니다. 시스템에 docker 가 설치되어 있어야 합니다.
$ docker login -u <user_name> -e <email_address> \ -p <token_value> <registry_server>:<port>
참고사용할 레지스트리 IP 또는 호스트 이름과 포트를 모르는 경우 클러스터 관리자에게 문의하십시오.
이미지를 가져오려면 인증된 사용자에게 요청한 이미지 스트림/레이어
에 대한 가져오기
권한이 있어야 합니다. 이미지를 밀어 넣으려면 인증된 사용자에게 요청한 이미지 스트림/레이어
에 대한 업데이트
권한이 있어야 합니다.
기본적으로 프로젝트의 모든 서비스 계정에는 해당 프로젝트의 이미지를 가져올 수 있는 권한이 있고, builder 서비스 계정에는 해당 프로젝트에 이미지를 밀어 넣을 권한이 있습니다.
13.5.1. 리포지토리 나열
리포지토리 또는 이미지 스트림 이름 목록은 /v2/_catalog
끝점에서 지원됩니다.
유일한 요구 사항은 인증된 사용자에게 전체 클러스터의 이미지 스트림에
대한 목록
권한이 있어야 한다는 것입니다.
사용자에게 이미지 스트림을 나열할 수 있는 권한을 부여하려면 다음을 실행합니다.
$ oc adm policy add-cluster-role-to-user registry-viewer user
리포지토리를 나열하려면 다음을 수행합니다.
$ oc login -u user $ curl -v -u unused:$(oc whoami -t) https://<registry_server>:<port>/v2/_catalog?n=100
이 API 호출은 클러스터의 많은 이미지 스트림에 비해 비용이 많이 듭니다. 모든 이미지 스트림을 나열하는 대신 pagination을 사용하는 것이 좋습니다.