This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.5.6. 이미지 레지스트리 저장소 미러링 설정
컨테이너 레지스트리 저장소 미러링을 설정하면 다음을 수행할 수 있습니다.
- 소스 이미지 레지스트리의 저장소에서 이미지를 가져오기 위해 요청을 리디렉션하고 미러링된 이미지 레지스트리의 저장소에서 해결할 수 있도록 OpenShift Container Platform 클러스터를 설정합니다.
- 하나의 미러가 다운된 경우 다른 미러를 사용할 수 있도록 각 대상 저장소에 대해 여러 미러링된 저장소를 확인합니다.
다음은 OpenShift Container Platform의 저장소 미러링의 몇 가지 속성입니다.
- 이미지 풀은 레지스트리 다운 타임에 대처할 수 있습니다.
- 네트워크가 제한된 환경의 클러스터는 중요한 위치(예 : quay.io)에서 이미지를 가져오도록 요청할 수 있으며 회사의 방화벽 뒤에 레지스트리가 요청된 이미지를 제공하도록 할 수 있습니다.
- 이미지의 풀 요청 시 특정 레지스트리 순서로 시도되고 일반적으로 영구 레지스트리는 마지막으로 시도됩니다.
-
입력한 미러링 정보는 OpenShift Container Platform 클러스터의 모든 노드에서
/etc/containers/registries.conf
파일에 추가됩니다. - 노드가 소스 저장소에서 이미지를 요청하면 요청된 컨텐츠를 찾을 때 까지 미러링된 각 저장소를 차례로 시도합니다. 모든 미러가 실패하면 클러스터는 소스 저장소를 시도합니다. 성공하면 이미지가 노드로 풀됩니다.
저장소 미러링은 다음과 같은 방법으로 설정할 수 있습니다.
- OpenShift Container Platform 설치 시 : OpenShift Container Platform에 필요한 컨테이너 이미지를 가져온 다음 해당 이미지를 회사 방화벽 뒤에 배치하면 제한된 네트워크에있는 데이터 센터에 OpenShift Container Platform을 설치할 수 있습니다. 자세한 내용은 OpenShift Container Platform 이미지 저장소 미러링을 참조하십시오.
-
OpenShift Container Platform 설치 후 : OpenShift Container Platform 설치 시 미러링을 설정하지 않고
ImageContentSourcePolicy
객체를 사용하여 나중에 설정할 수 있습니다.
다음 프로세스에서는 설치 후 미러를 설정하고 다음을 식별하는 ImageContentSourcePolicy
객체를 만듭니다.
- 미러링하려는 컨테이너 이미지 저장소의 소스
- 소스 저장소에서 요청된 컨텐츠를 제공하는 각 미러 저장소에 대한 개별 항목
전제 조건
-
cluster-admin
역할을 가진 사용자로 클러스터에 액세스할 수 있어야 합니다.
프로세스
미러링된 저장소를 설정합니다. 이를 위해 다음 중 하나를 수행합니다.
- Red Hat Quay Repository Mirroring에 설명된대로 Red Hat Quay를 사용하여 미러링된 저장소를 설정합니다. Red Hat Quay를 사용하면 한 저장소에서 다른 저장소로 이미지를 복사하고 시간이 지남에 따라 해당 저장소를 반복해서 자동으로 동기화할 수 있습니다.
skopeo
와 같은 툴을 사용하여 소스 디렉토리에서 미러링된 저장소로 이미지를 수동으로 복사합니다.예를 들어, Red Hat Enterprise Linux (RHEL 7 또는 RHEL 8) 시스템에 skopeo RPM 패키지를 설치한 후 다음 예와 같이
skopeo
명령을 사용합니다.skopeo copy \ docker://registry.access.redhat.com/ubi8/ubi-minimal@sha256:c505667389712dc337986e29ffcb65116879ef27629dc3ce6e1b17727c06e78f \ docker://example.io/ubi8/ubi-minimal
$ skopeo copy \ docker://registry.access.redhat.com/ubi8/ubi-minimal@sha256:c505667389712dc337986e29ffcb65116879ef27629dc3ce6e1b17727c06e78f \ docker://example.io/ubi8/ubi-minimal
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예제에는
example.io
라는 컨테이너 이미지 레지스트리가 있으며,registry.access.redhat.com
에서ubi8 / ubi-minimal
이미지를 복사하려는example
이라는 이미지 저장소가 있습니다. 레지스트리를 생성한 후 OpenShift Container Platform 클러스터를 설정하여 소스 저장소의 요청을 미러링된 저장소로 리디렉션할 수 있습니다.
- OpenShift Container Platform 클러스터에 로그인합니다.
ImageContentSourcePolicy
파일(예:registryrepomirror.yaml
)을 만들고 소스 및 미러를 특정 레지스트리 및 저장소 쌍과 이미지로 대체합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 새
ImageContentSourcePolicy
를 만듭니다.oc create -f registryrepomirror.yaml
$ oc create -f registryrepomirror.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ImageContentSourcePolicy
가 생성된 후 새 설정이 각 노드에 배포되고 소스 저장소의 요청에 대해 미러링된 저장소를 사용하기 시작합니다.미러링된 설정이 작동했는지 확인하려면 노드 중 하나로 이동합니다. 예를 들면 다음과 같습니다.
노드를 나열합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 변경 사항이 적용됨에 따라 각 작업자 노드의 스케줄링이 비활성화되어 있음을 알 수 있습니다.
/etc/containers/registries.conf
파일을 체크하여 변경 사항이 적용되었는지 확인합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 소스에서 이미지를 노드로 가져와 실제로 미러링에 의해 해결되는지 확인합니다.
podman pull --log-level=debug registry.access.redhat.com/ubi8/ubi-minimal
sh-4.2# podman pull --log-level=debug registry.access.redhat.com/ubi8/ubi-minimal
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
저장소 미러링 문제 해결
설명대로 저장소 미러링 프로세스가 작동하지 않는 경우 저장소 미러링 작동 방법에 대한 다음 정보를 사용하여 문제점을 해결하십시오.
- 먼저 작업 중인 미러는 풀되는 이미지를 지정하는 데 사용됩니다.
- 주요 레지스트리는 다른 미러가 작동하지 않는 경우에만 사용됩니다.
-
시스템 컨텍스트에서
Insecure
플래그가 폴백으로 사용됩니다. -
/etc/containers/registries
파일 형식이 최근에 변경되었습니다. 현재 버전은 TOML 형식의 버전 2입니다. *