5.4. 이미지 풀 시크릿 사용
컨테이너 레지스트리로 인증하고 OpenShift Container Platform 프로젝트 또는 보안 레지스트리에서 이미지를 가져오려면 이미지 가져오기 보안을 구성하고 사용할 수 있습니다.
먼저 Red Hat OpenShift Cluster Manager 프로세스의 풀 시크릿에 의해 생성된 Docker의 ~/.docker/config.json 파일 또는 Podman의 ~/.config/containers/auth.json 파일에 있는 레지스트리 인증 자격 증명을 가져옵니다. 그런 다음 이 콘텐츠를 사용하여 클러스터 내에서 글로벌 pullSecret 오브젝트를 생성하거나 업데이트하여 quay.io 및 registry.redhat.io 의 이미지에 액세스할 수 있습니다.
OpenShift 이미지 레지스트리를 사용하고 동일한 프로젝트에 있는 이미지 스트림에서 이미지를 가져오는 경우 포드 서비스 계정에 이미 올바른 권한이 있어야 합니다. 추가 작업이 필요하지 않습니다.
5.4.1. 프로젝트 간에 pod가 이미지를 참조할 수 있도록 허용 링크 복사링크가 클립보드에 복사되었습니다!
하나의 OpenShift Container Platform 프로젝트의 Pod가 다른 프로젝트의 이미지를 참조하도록 허용하려면 서비스 계정을 대상 프로젝트의 system:image-puller 역할에 바인딩할 수 있습니다. oc policy add-role-to-user 또는 oc policy add-role-to-group 명령을 사용하여 프로젝트 간 이미지 액세스 권한을 부여합니다.
Pod 서비스 계정 또는 네임스페이스를 생성할 때 Docker 풀 시크릿을 사용하여 서비스 계정이 프로비저닝될 때까지 기다립니다. 서비스 계정이 완전히 프로비저닝되기 전에 포드를 생성하면 Pod가 OpenShift 이미지 레지스트리에 액세스하지 못합니다.
프로세스
다음 명령을 입력하여
project-a의 pod가project-b의 이미지를 참조하도록 허용합니다. 이 예에서project-a의 서비스 계정기본값이project-b의system:image-puller역할에 바인딩됩니다.$ oc policy add-role-to-user \ system:image-puller system:serviceaccount:project-a:default \ --namespace=project-b선택 사항:
add-role-to-group플래그를 사용하여project-a의 모든 서비스 계정에 대한 액세스를 허용합니다. 예를 들면 다음과 같습니다.$ oc policy add-role-to-group \ system:image-puller system:serviceaccounts:project-a \ --namespace=project-b