6.2. OpenShift 컨테이너 플랫폼 이미지 미러링


연결이 끊긴 환경에서 클러스터를 업데이트하려면 먼저 컨테이너 이미지를 미러 레지스트리에 미러링해야 합니다. 연결된 환경에서도 이 절차를 사용하면 클러스터가 외부 콘텐츠에 대한 조직적 통제를 충족하는 승인된 컨테이너 이미지만 실행하도록 할 수 있습니다.

참고

클러스터가 실행되는 동안에는 미러 레지스트리가 항상 실행되어야 합니다.

다음 단계에서는 미러 레지스트리에 이미지를 미러링하는 방법에 대한 개략적인 워크플로를 설명합니다.

  1. 릴리스 이미지를 검색하고 푸시하는 데 사용되는 모든 장치에 OpenShift CLI( oc )를 설치합니다.
  2. 레지스트리 풀 시크릿을 다운로드하여 클러스터에 추가합니다.
  3. oc-mirror OpenShift CLI( oc ) 플러그인을 사용하는 경우:

    1. 이미지를 검색하고 푸시 릴리스하는 데 사용되는 모든 장치에 oc-mirror 플러그인을 설치합니다.
    2. 플러그인이 미러링할 릴리스 이미지를 결정할 때 사용할 이미지 세트 구성 파일을 만듭니다. 나중에 이 구성 파일을 편집하여 플러그인이 미러링하는 릴리스 이미지를 변경할 수 있습니다.
    3. 대상 릴리스 이미지를 미러 레지스트리에 직접 미러링하거나 이동식 미디어에 미러링한 다음 미러 레지스트리에 미러링합니다.
    4. oc-mirror 플러그인에서 생성된 리소스를 사용하도록 클러스터를 구성합니다.
    5. 필요에 따라 이 단계를 반복하여 미러 레지스트리를 업데이트합니다.
  4. oc adm release mirror 명령을 사용하는 경우:

    1. 사용자 환경과 미러링하려는 릴리스 이미지에 맞는 환경 변수를 설정합니다.
    2. 대상 릴리스 이미지를 미러 레지스트리에 직접 미러링하거나 이동식 미디어에 미러링한 다음 미러 레지스트리에 미러링합니다.
    3. 필요에 따라 이 단계를 반복하여 미러 레지스트리를 업데이트합니다.

oc adm release mirror 명령을 사용하는 것과 비교했을 때, oc-mirror 플러그인은 다음과 같은 장점이 있습니다.

  • 컨테이너 이미지 이외의 콘텐츠를 미러링할 수 있습니다.
  • 처음으로 이미지를 미러링한 후에는 레지스트리에서 이미지를 업데이트하는 것이 더 쉽습니다.
  • oc-mirror 플러그인은 Quay에서 릴리스 페이로드를 자동으로 미러링하는 방법을 제공하고, 연결이 끊긴 환경에서 실행되는 OpenShift 업데이트 서비스에 대한 최신 그래프 데이터 이미지를 빌드합니다.

6.2.1. oc-mirror 플러그인을 사용하여 리소스 미러링

oc-mirror OpenShift CLI( oc ) 플러그인을 사용하면 완전히 또는 부분적으로 연결이 끊긴 환경에서 미러 레지스트리로 이미지를 미러링할 수 있습니다. 공식 Red Hat 레지스트리에서 필요한 이미지를 다운로드하려면 인터넷에 연결된 시스템에서 oc-mirror를 실행해야 합니다.

자세한 내용은 oc-mirror 플러그인 v2를 사용하여 연결이 끊긴 설치에 대한 이미지 미러링을 참조하세요.

6.2.2. oc adm release mirror 명령을 사용하여 이미지 미러링

oc adm release mirror 명령을 사용하면 이미지를 미러 레지스트리로 미러링할 수 있습니다.

6.2.2.1. 사전 요구 사항

  • Red Hat Quay와 같이 OpenShift Container Platform 클러스터를 호스팅할 위치에 Docker v2-2를 지원하는 컨테이너 이미지 레지스트리가 있어야 합니다.

    참고

    Red Hat Quay를 사용하는 경우 oc-mirror 플러그인과 함께 버전 3.6 이상을 사용해야 합니다. Red Hat Quay에 대한 권한이 있는 경우 개념 증명 목적으로 Red Hat Quay를 배포하거나 Quay Operator를 사용하는 방법 에 대한 설명서를 참조하세요. 레지스트리를 선택 및 설치하는 데 추가 지원이 필요한 경우 영업 담당자 또는 Red Hat 지원팀에 문의하십시오.

    컨테이너 이미지 레지스트리에 대한 기존 솔루션이 없는 경우 Red Hat OpenShift용 미러 레지스트리가 OpenShift Container Platform 구독에 포함되어 있습니다. Red Hat OpenShift용 미러 레지스트리는 연결이 끊긴 설치 및 업데이트에서 OpenShift Container Platform 컨테이너 이미지를 미러링하는 데 사용할 수 있는 소규모 컨테이너 레지스트리입니다.

6.2.2.2. 미러 호스트 준비

미러 단계를 수행하기 전에 호스트는 콘텐츠를 검색하고 원격 위치로 푸시할 준비가 되어 있어야 합니다.

6.2.2.2.1. OpenShift CLI 설치

명령줄 인터페이스를 사용하여 OpenShift Container Platform과 상호 작용하기 위해 OpenShift CLI(oc)를 설치할 수 있습니다. Linux, Windows 또는 macOS에 oc를 설치할 수 있습니다.

중요

이전 버전의 oc를 설치한 경우 OpenShift Container Platform 4.19에서 모든 명령을 완료하는 데 사용할 수 없습니다. 새 버전의 oc를 다운로드하여 설치합니다. 연결이 끊긴 환경에서 클러스터를 업데이트하는 경우 업데이트할 oc 버전을 설치하세요.

Linux에서 OpenShift CLI 설치

다음 절차를 사용하여 Linux에서 OpenShift CLI(oc) 바이너리를 설치할 수 있습니다.

프로세스

  1. Red Hat 고객 포털에서 OpenShift Container Platform 다운로드 페이지로 이동합니다.
  2. 제품 변형 드롭다운 목록에서 아키텍처를 선택합니다.
  3. 버전 드롭다운 목록에서 적절한 버전을 선택합니다.
  4. OpenShift v4.19 Linux 클라이언트 항목 옆에 있는 '지금 다운로드'를 클릭하고 파일을 저장합니다.
  5. 아카이브의 압축을 풉니다.

    $ tar xvf <file>
    Copy to Clipboard Toggle word wrap
  6. oc 바이너리를 PATH에 있는 디렉터리에 배치합니다.

    PATH를 확인하려면 다음 명령을 실행합니다.

    $ echo $PATH
    Copy to Clipboard Toggle word wrap

검증

  • OpenShift CLI를 설치한 후 oc 명령을 사용할 수 있습니다.

    $ oc <command>
    Copy to Clipboard Toggle word wrap
Windows에서 OpenSfhit CLI 설치

다음 절차에 따라 Windows에 OpenShift CLI(oc) 바이너리를 설치할 수 있습니다.

프로세스

  1. Red Hat 고객 포털에서 OpenShift Container Platform 다운로드 페이지로 이동합니다.
  2. 버전 드롭다운 목록에서 적절한 버전을 선택합니다.
  3. OpenShift v4.19 Windows Client 항목 옆에 있는 지금 다운로드를 클릭하고 파일을 저장합니다.
  4. ZIP 프로그램으로 아카이브의 압축을 풉니다.
  5. oc 바이너리를 PATH에 있는 디렉터리로 이동합니다.

    PATH를 확인하려면 명령 프롬프트를 열고 다음 명령을 실행합니다.

    C:\> path
    Copy to Clipboard Toggle word wrap

검증

  • OpenShift CLI를 설치한 후 oc 명령을 사용할 수 있습니다.

    C:\> oc <command>
    Copy to Clipboard Toggle word wrap
macOS에 OpenShift CLI 설치

다음 절차에 따라 macOS에서 OpenShift CLI(oc) 바이너리를 설치할 수 있습니다.

프로세스

  1. Red Hat 고객 포털에서 OpenShift Container Platform 다운로드 페이지로 이동합니다.
  2. 버전 드롭다운 목록에서 적절한 버전을 선택합니다.
  3. OpenShift v4.19 macOS 클라이언트 항목 옆에 있는 '지금 다운로드'를 클릭하고 파일을 저장합니다.

    참고

    macOS arm64의 경우 OpenShift v4.19 macOS arm64 클라이언트 항목을 선택합니다.

  4. 아카이브의 압축을 해제하고 압축을 풉니다.
  5. oc 바이너리 PATH의 디렉터리로 이동합니다.

    PATH를 확인하려면 터미널을 열고 다음 명령을 실행합니다.

    $ echo $PATH
    Copy to Clipboard Toggle word wrap

검증

  • oc 명령을 사용하여 설치를 확인하세요.

    $ oc <command>
    Copy to Clipboard Toggle word wrap
6.2.2.2.2. 이미지를 미러링할 수 있는 인증 정보 설정

Red Hat에서 미러로 이미지를 미러링할 수 있는 컨테이너 이미지 레지스트리 자격 증명 파일을 만듭니다.

주의

클러스터를 설치할 때 이 이미지 레지스트리 인증 정보 파일을 풀 시크릿(pull secret)으로 사용하지 마십시오. 클러스터를 설치할 때 이 파일을 지정하면 클러스터의 모든 시스템에 미러 레지스트리에 대한 쓰기 권한이 부여됩니다.

사전 요구 사항

  • 연결이 끊긴 환경에서 사용할 미러 레지스트리를 구성했습니다.
  • 미러 레지스트리에서 이미지를 미러링할 이미지 저장소 위치를 확인했습니다.
  • 이미지를 해당 이미지 저장소에 업로드할 수 있는 미러 레지스트리 계정을 제공하고 있습니다.
  • 미러 레지스트리에 대한 쓰기 권한이 있습니다.

프로세스

설치 호스트에서 다음 단계를 수행합니다.

  1. Red Hat OpenShift Cluster Manager에서 registry.redhat.io 풀 시크릿을 다운로드합니다.
  2. 다음 명령을 실행하여 JSON 형식으로 풀 시크릿의 사본을 만듭니다.

    $ cat ./pull-secret | jq . > <path>/<pull_secret_file_in_json> 
    1
    Copy to Clipboard Toggle word wrap
    1
    풀 시크릿을 저장할 폴더의 경로와 생성한 JSON 파일의 이름을 지정합니다.

    pull secret의 예

    {
      "auths": {
        "cloud.openshift.com": {
          "auth": "b3BlbnNo...",
          "email": "you@example.com"
        },
        "quay.io": {
          "auth": "b3BlbnNo...",
          "email": "you@example.com"
        },
        "registry.connect.redhat.com": {
          "auth": "NTE3Njg5Nj...",
          "email": "you@example.com"
        },
        "registry.redhat.io": {
          "auth": "NTE3Njg5Nj...",
          "email": "you@example.com"
        }
      }
    }
    Copy to Clipboard Toggle word wrap

  3. 선택 사항: oc-mirror 플러그인을 사용하는 경우 파일을 ~/.docker/config.json 또는 $XDG_RUNTIME_DIR/containers/auth.json 으로 저장합니다.

    1. .docker 또는 $XDG_RUNTIME_DIR/containers 디렉터리가 없는 경우 다음 명령을 입력하여 만듭니다.

      $ mkdir -p <directory_name>
      Copy to Clipboard Toggle word wrap

      여기서 <directory_name>~/.docker 또는 $XDG_RUNTIME_DIR/containers 입니다.

    2. 다음 명령을 입력하여 풀 시크릿을 적절한 디렉터리에 복사합니다.

      $ cp <path>/<pull_secret_file_in_json> <directory_name>/<auth_file>
      Copy to Clipboard Toggle word wrap

      여기서 <directory_name>~/.docker 또는 $XDG_RUNTIME_DIR/containers 이며 <auth_file>config.json 또는 auth.json 입니다.

  4. 다음 명령을 실행하여 미러 레지스트리에 대한 base64로 인코딩된 사용자 이름과 비밀번호 또는 토큰을 생성합니다.

    $ echo -n '<user_name>:<password>' | base64 -w0 
    1
    Copy to Clipboard Toggle word wrap
    1
    <user_name><password>의 경우 레지스트리에 설정한 사용자 이름 및 암호를 지정합니다.

    출력 예

    BGVtbYk3ZHAtqXs=
    Copy to Clipboard Toggle word wrap

  5. JSON 파일을 편집하고 레지스트리를 설명하는 섹션을 추가합니다.

      "auths": {
        "<mirror_registry>": { 
    1
    
          "auth": "<credentials>", 
    2
    
          "email": "you@example.com"
        }
      },
    Copy to Clipboard Toggle word wrap
    1
    미러 레지스트리가 콘텐츠를 제공하는 데 사용하는 레지스트리 도메인 이름과 필요한 경우 포트를 지정합니다. 예: registry.example.com 또는 registry.example.com:8443
    2
    미러 레지스트리에 대한 base64로 인코딩된 사용자 이름과 비밀번호를 지정합니다.

    수정된 풀 시크릿 예시

    {
      "auths": {
        "registry.example.com": {
          "auth": "BGVtbYk3ZHAtqXs=",
          "email": "you@example.com"
        },
        "cloud.openshift.com": {
          "auth": "b3BlbnNo...",
          "email": "you@example.com"
        },
        "quay.io": {
          "auth": "b3BlbnNo...",
          "email": "you@example.com"
        },
        "registry.connect.redhat.com": {
          "auth": "NTE3Njg5Nj...",
          "email": "you@example.com"
        },
        "registry.redhat.io": {
          "auth": "NTE3Njg5Nj...",
          "email": "you@example.com"
        }
      }
    }
    Copy to Clipboard Toggle word wrap

6.2.2.3. 미러 레지스트리에 이미지 미러링

중요

OpenShift 업데이트 서비스 애플리케이션에서 과도한 메모리 사용을 방지하려면 다음 절차에 설명된 대로 릴리스 이미지를 별도의 저장소로 미러링해야 합니다.

사전 요구 사항

  • 연결이 끊긴 환경에서 사용할 미러 레지스트리를 구성했으며 구성한 인증서와 자격 증명에 액세스할 수 있습니다.
  • Red Hat OpenShift Cluster Manager에서 풀 시크릿을 다운로드하고 미러 저장소에 대한 인증을 포함하도록 수정했습니다.
  • 자체 서명된 인증서를 사용하는 경우 인증서에 주체 대체 이름을 지정했습니다.

프로세스

  1. Red Hat OpenShift Container Platform 업데이트 그래프 시각화 도구와 업데이트 플래너를 사용하여 한 버전에서 다른 버전으로의 업데이트를 계획합니다. OpenShift 업데이트 그래프는 채널 그래프를 제공하고 현재 클러스터 버전과 의도된 클러스터 버전 사이에 업데이트 경로가 있는지 확인하는 방법을 제공합니다.
  2. 필요한 환경 변수를 설정합니다.

    1. 릴리스 버전을 내보냅니다.

      $ export OCP_RELEASE=<release_version>
      Copy to Clipboard Toggle word wrap

      <release_version>에 대해 업데이트할 OpenShift Container Platform 버전에 해당하는 태그를 지정합니다 (예: 4.5.4 ).

    2. 로컬 레지스트리 이름 및 호스트 포트를 내보냅니다.

      $ LOCAL_REGISTRY='<local_registry_host_name>:<local_registry_host_port>'
      Copy to Clipboard Toggle word wrap

      <local_registry_host_name>의 경우 미러 저장소의 레지스트리 도메인 이름을 지정하고 <local_registry_host_port>의 경우 콘텐츠를 제공하는데 사용되는 포트를 지정합니다.

    3. 로컬 저장소 이름을 내보냅니다.

      $ LOCAL_REPOSITORY='<local_repository_name>'
      Copy to Clipboard Toggle word wrap

      <local_repository_name>의 경우 레지스트리에 작성할 저장소 이름 (예: ocp4/openshift4)을 지정합니다.

    4. OpenShift 업데이트 서비스를 사용하는 경우 릴리스 이미지를 포함할 추가 로컬 저장소 이름을 내보냅니다.

      $ LOCAL_RELEASE_IMAGES_REPOSITORY='<local_release_images_repository_name>'
      Copy to Clipboard Toggle word wrap

      <local_release_images_repository_name>의 경우 레지스트리에 작성할 저장소 이름 (예: ocp4/openshift4-release-images)을 지정합니다.

    5. 미러링할 저장소 이름을 내보냅니다.

      $ PRODUCT_REPO='openshift-release-dev'
      Copy to Clipboard Toggle word wrap

      프로덕션 환경의 릴리스의 경우 openshift-release-dev를 지정해야 합니다.

    6. 레지스트리 풀 시크릿의 경로를 내보냅니다.

      $ LOCAL_SECRET_JSON='<path_to_pull_secret>'
      Copy to Clipboard Toggle word wrap

      생성한 미러 레지스트리에 대한 풀 시크릿의 절대 경로 및 파일 이름을 <path_to_pull_secret>에 지정합니다.

      참고

      클러스터에서 ImageContentSourcePolicy 오브젝트를 사용하여 저장소 미러링을 구성하는 경우 미러링된 레지스트리에 대한 글로벌 풀 시크릿만 사용할 수 있습니다. 프로젝트에 풀 시크릿을 추가할 수 없습니다.

    7. 릴리스 미러를 내보냅니다.

      $ RELEASE_NAME="ocp-release"
      Copy to Clipboard Toggle word wrap

      프로덕션 환경의 릴리스의 경우 ocp-release를 지정해야 합니다.

    8. 클러스터의 아키텍처 유형을 내보냅니다.

      $ ARCHITECTURE=<cluster_architecture> 
      1
      Copy to Clipboard Toggle word wrap
      1
      x86_64,aarch64,s390x 또는 ppc64le 과 같은 클러스터의 아키텍처를 지정합니다.
    9. 미러링된 이미지를 호스트할 디렉터리의 경로를 내보냅니다.

      $ REMOVABLE_MEDIA_PATH=<path> 
      1
      Copy to Clipboard Toggle word wrap
      1
      초기 슬래시 (/) 문자를 포함하여 전체 경로를 지정합니다.
  3. 미러링할 이미지 및 설정 매니페스트를 확인합니다.

    $ oc adm release mirror -a ${LOCAL_SECRET_JSON} --to-dir=${REMOVABLE_MEDIA_PATH}/mirror quay.io/${PRODUCT_REPO}/${RELEASE_NAME}:${OCP_RELEASE}-${ARCHITECTURE} --dry-run
    Copy to Clipboard Toggle word wrap
  4. 버전 이미지를 미러 레지스트리로 미러링합니다.

    • 미러 호스트가 인터넷에 액세스할 수 없는 경우 다음 작업을 수행합니다.

      1. 이동식 미디어를 인터넷에 연결된 시스템에 연결합니다.
      2. 이미지 및 설정 매니페스트를 이동식 미디어의 디렉토리에 미러링합니다.

        $ oc adm release mirror -a ${LOCAL_SECRET_JSON} --to-dir=${REMOVABLE_MEDIA_PATH}/mirror quay.io/${PRODUCT_REPO}/${RELEASE_NAME}:${OCP_RELEASE}-${ARCHITECTURE}
        Copy to Clipboard Toggle word wrap
        참고

        이 명령은 또한 미러링된 릴리스 이미지 서명 구성 맵을 생성하여 이동식 미디어에 저장합니다.

      3. 미디어를 연결이 끊긴 환경으로 가져가서 이미지를 로컬 컨테이너 레지스트리에 업로드합니다.

        $ oc image mirror  -a ${LOCAL_SECRET_JSON} --from-dir=${REMOVABLE_MEDIA_PATH}/mirror "file://openshift/release:${OCP_RELEASE}*" ${LOCAL_REGISTRY}/${LOCAL_REPOSITORY} 
        1
        Copy to Clipboard Toggle word wrap
        1
        REMOVABLE_MEDIA_PATH의 경우 이미지를 미러링 할 때 지정한 것과 동일한 경로를 사용해야 합니다.
      4. oc 명령줄 인터페이스(CLI)를 사용하여 업데이트하려는 클러스터에 로그인합니다.
      5. 미러링된 릴리스 이미지 서명 config map을 연결된 클러스터에 적용합니다.

        $ oc apply -f ${REMOVABLE_MEDIA_PATH}/mirror/config/<image_signature_file> 
        1
        Copy to Clipboard Toggle word wrap
        1
        <image_signature_file> 의 경우 파일의 경로와 이름을 지정합니다(예: signature-sha256-81154f5c03294534.yaml ).
      6. OpenShift 업데이트 서비스를 사용하는 경우 릴리스 이미지를 별도의 저장소로 미러링합니다.

        $ oc image mirror -a ${LOCAL_SECRET_JSON} ${LOCAL_REGISTRY}/${LOCAL_REPOSITORY}:${OCP_RELEASE}-${ARCHITECTURE} ${LOCAL_REGISTRY}/${LOCAL_RELEASE_IMAGES_REPOSITORY}:${OCP_RELEASE}-${ARCHITECTURE}
        Copy to Clipboard Toggle word wrap
    • 로컬 컨테이너 레지스트리와 클러스터가 미러 호스트에 연결된 경우 다음 작업을 수행하세요.

      1. 다음 명령을 사용하여 릴리스 이미지를 로컬 레지스트리에 직접 푸시하고 클러스터에 구성 맵을 적용합니다.

        $ oc adm release mirror -a ${LOCAL_SECRET_JSON} --from=quay.io/${PRODUCT_REPO}/${RELEASE_NAME}:${OCP_RELEASE}-${ARCHITECTURE} \
          --to=${LOCAL_REGISTRY}/${LOCAL_REPOSITORY} --apply-release-image-signature
        Copy to Clipboard Toggle word wrap
        참고

        --apply-release-image-signature 옵션이 포함된 경우 이미지 서명 확인을 위해 config map을 작성하지 않습니다.

      2. OpenShift 업데이트 서비스를 사용하는 경우 릴리스 이미지를 별도의 저장소로 미러링합니다.

        $ oc image mirror -a ${LOCAL_SECRET_JSON} ${LOCAL_REGISTRY}/${LOCAL_REPOSITORY}:${OCP_RELEASE}-${ARCHITECTURE} ${LOCAL_REGISTRY}/${LOCAL_RELEASE_IMAGES_REPOSITORY}:${OCP_RELEASE}-${ARCHITECTURE}
        Copy to Clipboard Toggle word wrap
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat