10.4. 이미지 미러링

클러스터가 올바르게 구성되면 외부 저장소에서 미러 저장소로 이미지를 미러링할 수 있습니다.

절차

  1. OLM(Operator Lifecycle Manager) 이미지를 미러링합니다.

    $ oc adm catalog mirror registry.redhat.io/redhat/redhat-operator-index:v{product-version} <mirror_registry>:<port>/olm -a <reg_creds>

    다음과 같습니다.

    product-version
    설치할 OpenShift Container Platform 버전에 해당하는 태그를 지정합니다(예: 4.8 ).
    mirror_registry
    Operator 콘텐츠를 미러링할 대상 레지스트리 및 네임스페이스의 정규화된 도메인 이름(FQDN)을 지정합니다. 여기서 <namespace> 는 레지스트리의 기존 네임스페이스입니다.
    reg_creds
    modified .dockerconfigjson 파일의 위치를 지정합니다.

    예를 들면 다음과 같습니다.

    $ oc adm catalog mirror registry.redhat.io/redhat/redhat-operator-index:v4.8 mirror.registry.com:443/olm -a ./.dockerconfigjson  --index-filter-by-os='.*'
  2. 다른 Red Hat 제공 Operator의 콘텐츠를 미러링합니다.

    $ oc adm catalog mirror <index_image> <mirror_registry>:<port>/<namespace> -a <reg_creds>

    다음과 같습니다.

    index_image
    미러링할 카탈로그의 인덱스 이미지를 지정합니다. 예를 들어 이전에 생성한 정리된 인덱스 이미지 또는 {index-image-pullspec} 과 같은 기본 카탈로그의 소스 인덱스 이미지 중 하나일 수 있습니다.
    mirror_registry
    Operator 콘텐츠를 미러링할 대상 레지스트리 및 네임스페이스의 FQDN을 지정합니다. 여기서 <namespace> 는 레지스트리의 기존 네임스페이스입니다.
    reg_creds
    선택 사항: 필요한 경우 레지스트리 자격 증명 파일의 위치를 지정합니다.

    예를 들면 다음과 같습니다.

    $ oc adm catalog mirror registry.redhat.io/redhat/community-operator-index:v4.8 mirror.registry.com:443/olm -a ./.dockerconfigjson  --index-filter-by-os='.*'
  3. OpenShift Container Platform 이미지 저장소를 미러링합니다.

    $ oc adm release mirror -a .dockerconfigjson --from=quay.io/openshift-release-dev/ocp-release:v<product-version>-<architecture> --to=<local_registry>/<local_repository> --to-release-image=<local_registry>/<local_repository>:v<product-version>-<architecture>

    다음과 같습니다.

    product-version
    설치할 OpenShift Container Platform 버전에 해당하는 태그를 지정합니다(예: 4.8.15-x86_64).
    아키텍처
    서버의 아키텍처 유형(예: x86_64)을 지정합니다.
    local_registry
    미러 저장소의 레지스트리 도메인 이름을 지정합니다.
    local_repository
    레지스트리에 작성할 리포지토리의 이름을 지정합니다(예: ocp4/openshift 4).

    예를 들면 다음과 같습니다.

    $ oc adm release mirror -a .dockerconfigjson --from=quay.io/openshift-release-dev/ocp-release:4.8.15-x86_64 --to=mirror.registry.com:443/ocp/release --to-release-image=mirror.registry.com:443/ocp/release:4.8.15-x86_64

    출력 예

    info: Mirroring 109 images to mirror.registry.com/ocp/release ...
    mirror.registry.com:443/
      ocp/release
    	manifests:
      	sha256:086224cadce475029065a0efc5244923f43fb9bb3bb47637e0aaf1f32b9cad47 -> 4.8.15-x86_64-thanos
      	sha256:0a214f12737cb1cfbec473cc301aa2c289d4837224c9603e99d1e90fc00328db -> 4.8.15-x86_64-kuryr-controller
      	sha256:0cf5fd36ac4b95f9de506623b902118a90ff17a07b663aad5d57c425ca44038c -> 4.8.15-x86_64-pod
      	sha256:0d1c356c26d6e5945a488ab2b050b75a8b838fc948a75c0fa13a9084974680cb -> 4.8.15-x86_64-kube-client-agent
    
    …..
    sha256:66e37d2532607e6c91eedf23b9600b4db904ce68e92b43c43d5b417ca6c8e63c mirror.registry.com:443/ocp/release:4.5.41-multus-admission-controller
    sha256:d36efdbf8d5b2cbc4dcdbd64297107d88a31ef6b0ec4a39695915c10db4973f1 mirror.registry.com:443/ocp/release:4.5.41-cluster-kube-scheduler-operator
    sha256:bd1baa5c8239b23ecdf76819ddb63cd1cd6091119fecdbf1a0db1fb3760321a2 mirror.registry.com:443/ocp/release:4.5.41-aws-machine-controllers
    info: Mirroring completed in 2.02s (0B/s)
    
    Success
    Update image:  mirror.registry.com:443/ocp/release:4.5.41-x86_64
    Mirror prefix: mirror.registry.com:443/ocp/release

  4. 필요에 따라 다른 레지스트리를 미러링합니다.

    $ oc image mirror <online_registry>/my/image:latest <mirror_registry>

추가 정보