5.3. OpenShift Container Platform 이미지 저장소 미러링
네트워크가 제한된 환경에서 프로비저닝하는 인프라에서 클러스터를 업그레이드하기 전에 필요한 컨테이너 이미지를 해당 환경에 미러링해야합니다. 이 프로세스를 무제한 네트워크에서 사용하여 클러스터가 외부 컨텐츠에 대해 조직의 제어 조건을 충족하는 컨테이너 이미지만 사용하도록 할 수 있습니다.
프로세스
- OpenShift Container Platform 업그레이드 경로를 확인하고 현재 클러스터 버전과 예약된 클러스터 버전 간의 업그레이드 경로가 있는지 확인합니다.
필요한 환경 변수를 설정합니다.
$ OCP_RELEASE=<release_version> 1 $ LOCAL_REGISTRY='<local_registry_host_name>:<local_registry_host_port>' 2 $ LOCAL_REPOSITORY='<local_repository_name>' 3 $ PRODUCT_REPO='openshift-release-dev' 4 $ LOCAL_SECRET_JSON='<path_to_pull_secret>' 5 $ RELEASE_NAME='ocp-release' 6 $ ARCHITECTURE=<server_architecture> 7 $ REMOVABLE_MEDIA_PATH=<path> 8
- 1
<release_version>
에 대해 업그레이드할 OpenShift Container Platform 버전에 해당하는 태그를 지정합니다 (예:4.5.0
).- 2
<local_registry_host_name>
의 경우 미러 저장소의 레지스트리 도메인 이름을 지정하고<local_registry_host_port>
의 경우 컨텐츠를 제공하는데 사용되는 포트를 지정합니다.- 3
<repository_name>
의 경우 레지스트리에 작성할 저장소 이름 (예:ocp4/openshift4
)을 지정합니다.- 4
- 미러링할 저장소입니다. 프로덕션 환경의 릴리스의 경우
openshift-release-dev
를 지정해야합니다. - 5
<path_to_pull_secret>
에 대해 생성한 미러 레지스트리에 대한 풀 시크릿의 절대 경로 및 파일 이름을 지정합니다.- 6
- 프로덕션 환경의 릴리스의 경우
ocp-release
를 지정해야합니다. - 7
<server_architecture>
에 대해x86_64
와 같은 서버 아키텍처를 지정합니다.- 8
<path>
에 대해 미러링된 이미지를 호스트할 디렉토리의 경로를 지정합니다.
미러링할 이미지 및 설정 매니페스트를 확인합니다.
$ 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
버전 이미지를 내부 컨테이너 레지스트리에 미러링합니다.
미러 호스트가 인터넷에 액세스할 수 없는 경우 다음 작업을 수행합니다.
- 이동식 미디어를 인터넷에 연결된 시스템에 연결합니다.
이미지 및 설정 매니페스트를 이동식 미디어의 디렉토리에 미러링합니다.
$ oc adm release mirror -a ${LOCAL_SECRET_JSON} --to-dir=${REMOVABLE_MEDIA_PATH}/mirror quay.io/${PRODUCT_REPO}/${RELEASE_NAME}:${OCP_RELEASE}-${ARCHITECTURE}
미디어를 네트워크가 제한된 환경으로 가져와서 이미지를 로컬 컨테이너 레지스트리에 업로드합니다.
$ oc image mirror -a ${LOCAL_SECRET_JSON} --from-dir=${REMOVABLE_MEDIA_PATH}/mirror 'file://openshift/release:${OCP_RELEASE}*' ${LOCAL_REGISTRY}/${LOCAL_REPOSITORY}
로컬 컨테이너 레지스트리와 클러스터가 미러 호스트에 연결된 경우 릴리스 이미지를 로컬 레지스트리로 직접 푸시하고 다음 명령을 사용하여 ConfigMap을 클러스터에 적용합니다.
$ 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
참고--apply-release-image-signature
옵션이 포함된 경우 이미지 서명 확인을 위해 ConfigMap을 작성하지 않습니다.