3.3. oc-mirror 플러그인 v2를 사용하여 연결이 끊긴 설치에 대한 이미지 미러링
개인 레지스트리에 있는 OpenShift Container Platform 컨테이너 이미지의 미러링된 세트에서 클러스터를 설치하는 경우 연결이 끊긴 환경에서 클러스터를 실행할 수 있습니다. 클러스터가 실행될 때마다 이 레지스트리가 실행되어야 합니다.
oc-mirror 플러그인 v2를 사용하여 완전히 또는 부분적으로 연결이 끊긴 환경의 미러 레지스트리에 이미지를 미러링할 수 있습니다. 공식 Red Hat 레지스트리에서 필요한 이미지를 다운로드하려면 인터넷 연결이 있는 시스템에서 oc-mirror 플러그인 v2를 실행해야 합니다.
3.3.1. oc-mirror 플러그인 v2 정보 링크 복사링크가 클립보드에 복사되었습니다!
oc-mirror OpenShift CLI(oc
) 플러그인은 필요한 모든 OpenShift Container Platform 콘텐츠 및 기타 이미지를 미러 레지스트리에 미러링하는 단일 툴입니다.
새 버전의 oc-mirror를 사용하려면 oc-mirror 플러그인 v2 명령줄에 --v2
플래그를 추가합니다.
oc-mirror 플러그인 v2에는 다음과 같은 기능이 있습니다.
- OpenShift Container Platform 릴리스, Operator, helm 차트 및 기타 이미지를 미러링하는 중앙 집중식 방법을 제공합니다.
- 이미지 세트 구성 파일에 지정된 전체 이미지 세트가 이전에 미러링되었는지 여부에 관계없이 미러링된 레지스트리에 미러링되었는지 확인합니다.
- 프로세스 단일 단계에서 오류가 발생하는 경우 미러링 프로세스를 시작할 필요가 없도록 메타데이터 대신 캐시 시스템을 사용합니다.
- 새 이미지만 아카이브에 통합하여 최소한의 아카이브 크기를 유지합니다.
- 미러링 날짜별로 선택한 콘텐츠로 미러링 아카이브를 생성합니다.
-
v1을 사용한 각 미러링 작업에 대한 이미지 세트만 적용되는
ImageContentSourcePolicy
(ICSP) 리소스 대신 전체 이미지 세트를 포함하는ImageDigestMirrorSet
(IDMS) 및ImageTagMirrorSet
(ITMS) 리소스를 생성할 수 있습니다. -
자동 정리를 수행하지 않습니다. v2에서는 이제
Delete
기능을 사용하여 사용자에게 이미지 삭제를 보다 효과적으로 제어할 수 있습니다. -
registries.conf
파일을 지원합니다. 이 변경으로 동일한 캐시를 사용하는 동안 여러 개의 enclaves로 미러링할 수 있습니다.
3.3.1.1. 고급 워크플로 링크 복사링크가 클립보드에 복사되었습니다!
다음 단계에서는 oc-mirror 플러그인을 사용하여 이미지를 미러 레지스트리에 미러링하는 방법에 대한 고급 워크플로를 간략하게 설명합니다.
- 이미지 세트 구성 파일을 생성합니다.
다음 워크플로우 중 하나를 사용하여 대상 미러 레지스트리에 설정된 이미지를 미러링합니다.
- 대상 미러 레지스트리(mirror to mirror)에 직접 설정된 이미지를 미러링합니다.
-
이미지 세트를 디스크로 미러링하고,
tar
파일을 대상 환경으로 전송한 다음, 대상 미러 레지스트리로 설정된 이미지를 미러링합니다(디스크를 미러링할 디스크).
- oc-mirror 플러그인 v2에서 생성한 리소스를 사용하도록 클러스터를 구성합니다.
- 필요에 따라 대상 미러 레지스트리를 업데이트하려면 다음 단계를 반복합니다.
3.3.1.2. oc-mirror 플러그인 v2 호환성 및 지원 링크 복사링크가 클립보드에 복사되었습니다!
oc-mirror 플러그인 v2는 OpenShift Container Platform에서 지원됩니다.
aarch64
,ppc64le
및 s390x
아키텍처에서 oc-mirror 플러그인 v2는 OpenShift Container Platform 4.14 이상에서만 지원됩니다.
미러링해야 하는 OpenShift Container Platform 버전에 관계없이 사용 가능한 최신 oc-mirror 플러그인 v2 버전을 사용합니다.
3.3.2. 사전 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Quay와 같이 OpenShift Container Platform 클러스터를 호스팅할 위치에 Docker v2-2 를 지원하는 컨테이너 이미지 레지스트리가 있어야 합니다.
참고- Red Hat Quay를 사용하는 경우 oc-mirror 플러그인과 함께 버전 3.6 이상을 사용하십시오. OpenShift Container Platform (Red Hat Quay 문서)에 Red Hat Quay Operator 배포를 참조하십시오. 레지스트리를 선택 및 설치하는 데 추가 지원이 필요한 경우 영업 담당자 또는 Red Hat 지원팀에 문의하십시오.
- 컨테이너 이미지 레지스트리에 대한 기존 솔루션이 없는 경우 OpenShift Container Platform 구독자에게 Red Hat OpenShift의 미러 레지스트리가 제공됩니다. 이 미러 레지스트리는 서브스크립션에 포함되어 있으며 소규모 컨테이너 레지스트리 역할을 합니다. 이 레지스트리를 사용하여 연결이 끊긴 설치에 필요한 OpenShift Container Platform 컨테이너 이미지를 미러링할 수 있습니다.
- 프로비저닝된 클러스터의 모든 시스템은 미러 레지스트리에 액세스할 수 있어야 합니다. 레지스트리에 연결할 수 없는 경우 설치, 업데이트 또는 워크로드 재배치와 같은 일상적인 작업과 같은 작업이 실패할 수 있습니다. 미러 레지스트리는 고가용성 방식으로 작동하여 OpenShift Container Platform 클러스터의 프로덕션 가용성과 일치하도록 해야 합니다.
3.3.3. 미러 호스트 준비 링크 복사링크가 클립보드에 복사되었습니다!
이미지 미러링에 oc-mirror 플러그인 v2를 사용하려면 플러그인을 설치하고 컨테이너 이미지에 대한 인증 정보가 있는 파일을 생성하여 Red Hat에서 미러로 미러링할 수 있어야 합니다.
3.3.3.1. oc-mirror OpenShift CLI 플러그인 설치 링크 복사링크가 클립보드에 복사되었습니다!
oc-mirror OpenShift CLI 플러그인을 설치하여 연결이 끊긴 환경에서 이미지 세트를 관리합니다.
사전 요구 사항
OpenShift CLI(
oc
)가 설치되어 있습니다. 완전히 연결이 끊긴 환경에서 이미지 세트를 미러링하는 경우 다음을 확인하십시오.- 인터넷 접속이 가능한 호스트에 oc-mirror 플러그인을 설치했습니다.
- 연결이 끊긴 환경의 호스트는 대상 미러 레지스트리에 액세스할 수 있습니다.
-
oc-mirror를 사용하는 운영 체제에서
umask
매개변수를0022
로 설정했습니다. - 사용 중인 RHEL 버전에 맞는 올바른 바이너리를 설치했습니다.
프로세스
oc-mirror CLI 플러그인을 다운로드하세요:
- Red Hat Hybrid Cloud Console의 다운로드 페이지로 이동합니다.
- OpenShift 연결 설치 툴 섹션의 드롭다운 메뉴에서 OpenShift Client(oc) 미러 플러그인 의 OS 유형 및 아키텍처 유형을 선택합니다.
- 다운로드를 클릭하여 파일을 저장하세요.
다음 명령을 실행하여 아카이브를 추출합니다.
tar xvzf oc-mirror.tar.gz
$ tar xvzf oc-mirror.tar.gz
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 필요한 경우 다음 명령을 실행하여 플러그인 파일을 실행 가능하도록 업데이트합니다.
chmod +x oc-mirror
$ chmod +x oc-mirror
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고oc-mirror
파일의 이름을 바꾸지 마십시오.다음 명령을 실행하여
PATH
(예:/usr/local/bin
)에 파일을 넣어 oc-mirror CLI 플러그인을 설치합니다.sudo mv oc-mirror /usr/local/bin/.
$ sudo mv oc-mirror /usr/local/bin/.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
다음 명령을 실행하여 oc-mirror 플러그인 v2가 성공적으로 설치되었는지 확인하세요.
oc mirror --v2 --help
$ oc mirror --v2 --help
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.3.3.2. 이미지를 미러링할 수 있는 인증 정보 설정 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat에서 미러로 이미지를 미러링할 수 있는 컨테이너 이미지 레지스트리 자격 증명 파일을 만듭니다.
클러스터를 설치할 때 이 이미지 레지스트리 인증 정보 파일을 풀 시크릿(pull secret)으로 사용하지 마십시오. 클러스터를 설치할 때 이 파일을 지정하면 클러스터의 모든 시스템에 미러 레지스트리에 대한 쓰기 권한이 부여됩니다.
사전 요구 사항
- 연결이 끊긴 환경에서 사용할 미러 레지스트리를 구성했습니다.
- 미러 레지스트리에서 이미지를 미러링할 이미지 저장소 위치를 확인했습니다.
- 이미지를 해당 이미지 저장소에 업로드할 수 있는 미러 레지스트리 계정을 제공하고 있습니다.
- 미러 레지스트리에 대한 쓰기 권한이 있습니다.
프로세스
설치 호스트에서 다음 단계를 수행합니다.
-
Red Hat OpenShift Cluster Manager에서
registry.redhat.io
풀 시크릿을 다운로드합니다. 다음 명령을 실행하여 JSON 형식으로 풀 시크릿의 사본을 만듭니다.
cat ./pull-secret | jq . > <path>/<pull_secret_file_in_json>
$ cat ./pull-secret | jq . > <path>/<pull_secret_file_in_json>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 풀 시크릿을 저장할 폴더의 경로와 생성한 JSON 파일의 이름을 지정합니다.
pull secret의 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow $XDG_RUNTIME_DIR/containers
디렉토리가 없으면 다음 명령을 입력하여 디렉토리를 만듭니다.mkdir -p $XDG_RUNTIME_DIR/containers
$ mkdir -p $XDG_RUNTIME_DIR/containers
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
풀 시크릿 파일을
$XDG_RUNTIME_DIR/containers/auth.json
으로 저장합니다. 다음 명령을 실행하여 미러 레지스트리에 대한 base64로 인코딩된 사용자 이름과 비밀번호 또는 토큰을 생성합니다.
echo -n '<user_name>:<password>' | base64 -w0
$ echo -n '<user_name>:<password>' | base64 -w0
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<user_name>
및<password>
의 경우 레지스트리에 설정한 사용자 이름 및 암호를 지정합니다.
출력 예
BGVtbYk3ZHAtqXs=
BGVtbYk3ZHAtqXs=
Copy to Clipboard Copied! Toggle word wrap Toggle overflow JSON 파일을 편집하고 레지스트리를 설명하는 섹션을 추가합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 수정된 풀 시크릿 예시
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.3.4. 미러 레지스트리로 이미지 세트 미러링 링크 복사링크가 클립보드에 복사되었습니다!
이미지 세트를 미러 레지스트리로 미러링하면 필요한 이미지를 안전하고 통제된 환경에서 사용할 수 있으므로 배포, 업데이트 및 유지 관리 작업이 더욱 원활해집니다.
3.3.4.1. 이미지 세트 구성 생성 링크 복사링크가 클립보드에 복사되었습니다!
oc-mirror 플러그인 v2를 사용하여 이미지를 미러링하려면 먼저 이미지 세트 구성 파일을 만들어야 합니다. 이 이미지 세트 구성 파일은 oc-mirror 플러그인 v2에 대한 기타 구성 설정과 함께 미러링할 OpenShift Container Platform 릴리스, 운영자 및 기타 이미지를 정의합니다.
사전 요구 사항
- 컨테이너 이미지 레지스트리 인증 정보 파일이 생성되어 있습니다. 자세한 내용은 이미지 미러링을 허용하는 자격 증명 구성을 참조하세요.
프로세스
ImageSetConfiguration
YAML 파일을 만들고 필요한 이미지를 포함하도록 수정합니다.ImageSetConfiguration
YAML 파일 예시Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- OpenShift Container Platform 이미지를 검색할 채널을 설정합니다.
- 2
그래프 추가: 그래프 데이터 이미지를 빌드하고 미러 레지스트리에 푸시하려면 true를
설정합니다. 그래프 데이터 이미지는 OpenShift Update Service(OSUS)를 생성하는 데 필요합니다.그래프: true
필드는UpdateService
사용자 정의 리소스 매니페스트도 생성합니다.oc
명령줄 인터페이스(CLI)는UpdateService
사용자 정의 리소스 매니페스트를 사용하여 OSUS를 생성할 수 있습니다. 자세한 내용은 OpenShift 업데이트 서비스 정보를 참조하십시오.- 3
- Operator 카탈로그를 설정하여 OpenShift Container Platform 이미지를 검색합니다.
- 4
- 이미지 세트에 포함할 특정 Operator 패키지만 지정합니다. 이 필드를 제거하여 카탈로그의 모든 패키지를 검색합니다.
- 5
- 이미지 세트에 포함할 추가 이미지를 지정합니다.
3.3.4.2. 부분적으로 연결이 끊긴 환경에서 이미지 세트 미러링 링크 복사링크가 클립보드에 복사되었습니다!
인터넷 접속이 제한된 환경에서는 oc-mirror 플러그인 v2를 사용하여 이미지 세트를 레지스트리에 미러링할 수 있습니다.
사전 요구 사항
- oc-mirror 플러그인 v2를 실행 중인 환경에서는 인터넷과 미러 레지스트리에 액세스할 수 있습니다.
프로세스
다음 명령을 실행하여 지정된 이미지 세트 구성의 이미지를 지정된 레지스트리로 미러링합니다.
oc mirror -c <image_set_configuration> --workspace file://<file_path> docker://<mirror_registry_url> --v2
$ oc mirror -c <image_set_configuration> --workspace file://<file_path> docker://<mirror_registry_url> --v2
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음과 같습니다.
- <image_set_configuration>
- 이미지 세트 구성 파일의 이름을 지정합니다.
- <file_path>
- 클러스터 리소스가 생성될 디렉토리를 지정합니다.
- <mirror_registry_url>
- 이미지가 저장되어 있고 삭제해야 하는 미러 레지스트리의 URL 또는 주소를 지정합니다.
검증
-
<file_path>
디렉터리에 생성된working-dir/cluster-resources
디렉터리로 이동합니다. -
ImageDigestMirrorSet
,ImageTagMirrorSet
및CatalogSource
리소스에 대한 YAML 파일이 있는지 확인합니다.
다음 단계
- oc-mirror 플러그인 v2에서 생성된 리소스를 사용하도록 클러스터를 구성합니다.
3.3.4.3. 완전히 연결이 끊긴 환경에서 이미지 세트 미러링 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift Container Platform 클러스터가 공용 인터넷에 액세스할 수 없는 완전히 분리된 환경에서 이미지 세트를 미러링할 수 있습니다. 다음은 미러링 프로세스를 설명하는 고급 워크플로입니다.
- 디스크로 미러링 : 이미지 세트를 아카이브로 미러링합니다.
- 디스크 전송 : 연결이 끊긴 미러 레지스트리의 네트워크로 아카이브를 수동으로 전송합니다.
- 디스크에서 미러링 : 아카이브에서 대상의 연결이 끊긴 레지스트리로 이미지 세트를 미러링합니다.
3.3.4.3.1. 미러에서 디스크로 미러링 링크 복사링크가 클립보드에 복사되었습니다!
oc-mirror 플러그인 v2를 사용하면 이미지 세트를 생성하고 내용을 디스크에 저장할 수 있습니다. 그 후, 생성된 이미지 세트를 연결이 끊긴 환경으로 전송하고 대상 레지스트리로 미러링할 수 있습니다.
oc-mirror 플러그인 v2는 이미지 세트 구성 파일에 지정된 소스에서 컨테이너 이미지를 검색하여 로컬 디렉토리의 tar 아카이브에 압축합니다.
프로세스
다음 명령을 실행하여 지정된 이미지 세트 구성의 이미지를 디스크로 미러링합니다.
oc mirror -c <image_set_configuration> file://<file_path> --v2
$ oc mirror -c <image_set_configuration> file://<file_path> --v2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음과 같습니다.
- <image_set_configuration>
- 이미지 세트 구성 파일의 이름을 지정합니다.
- <file_path>
- 이미지 세트가 포함된 아카이브가 생성될 디렉토리를 지정합니다.
검증
-
생성된
<file_path>
디렉터리로 이동합니다. - 보관 파일이 생성되었는지 확인하세요.
다음 단계
- 디스크에서 미러로 미러링
3.3.4.3.2. 디스크에서 미러로 미러링 링크 복사링크가 클립보드에 복사되었습니다!
oc-mirror 플러그인 v2를 사용하면 디스크에서 대상 미러 레지스트리로 이미지 세트를 미러링할 수 있습니다.
oc-mirror 플러그인 v2는 로컬 디스크에서 컨테이너 이미지를 검색하여 지정된 미러 레지스트리로 전송합니다.
프로세스
- 미러링된 이미지 세트가 들어 있는 디스크를 대상 미러 레지스트리가 있는 환경으로 전송합니다.
다음 명령을 실행하여 디스크에 있는 이미지 세트 파일을 처리하고 내용을 대상 미러 레지스트리로 미러링합니다.
oc mirror -c <image_set_configuration> --from file://<file_path> docker://<mirror_registry_url> --v2
$ oc mirror -c <image_set_configuration> --from file://<file_path> docker://<mirror_registry_url> --v2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음과 같습니다.
- <image_set_configuration>
- 이미지 세트 구성 파일의 이름을 지정합니다.
- <file_path>
- 아카이브가 들어 있는 디스크의 디렉토리를 지정합니다. 이 폴더에는 클러스터에 적용하기 위해 생성된 클러스터 리소스(예: ImageDigestMirrorSet(IDMS) 또는 ImageTagMirrorSet(ITMS) 리소스)도 포함됩니다.
- <mirror_registry_url>
- 이미지가 저장된 미러 레지스트리의 URL 또는 주소를 지정합니다.
검증
-
<file_path>
디렉터리에 생성된working-dir
디렉터리 내에서cluster-resources
디렉터리로 이동합니다. -
ImageDigestMirrorSet
,ImageTagMirrorSet
및CatalogSource
리소스에 대한 YAML 파일이 있는지 확인합니다.
다음 단계
- oc-mirror 플러그인 v2에서 생성된 리소스를 사용하도록 클러스터를 구성합니다.
3.3.5. oc-mirror 플러그인 v2에서 생성된 사용자 정의 리소스에 관하여 링크 복사링크가 클립보드에 복사되었습니다!
oc-mirror 플러그인 v2는 다음 사용자 정의 리소스를 자동으로 생성합니다.
ImageDigestMirrorSet
(IDMS)- 이미지 다이제스트 풀 사양을 사용할 때 레지스트리 미러 규칙을 처리합니다. 다이제스트에 의해 이미지 세트의 이미지 중 하나 이상이 미러링되는 경우 생성됩니다.
ImageTagMirrorSet
(ITMS)- 이미지 태그 풀 사양을 사용할 때 레지스트리 미러 규칙을 처리합니다. 이미지 세트에서 하나 이상의 이미지가 태그로 미러링되는 경우 생성됩니다.
CatalogSource
- 미러 레지스트리에서 사용 가능한 운영자에 대한 정보를 검색합니다. Operator Lifecycle Manager(OLM) Classic에서 사용됩니다.
ClusterCatalog
- 미러 레지스트리에서 사용 가능한 클러스터 확장(운영자 포함)에 대한 정보를 검색합니다. OLM v1에서 사용됨.
UpdateService
- 연결이 끊긴 환경에 업데이트된 그래프 데이터를 제공합니다. OpenShift 업데이트 서비스에서 사용됩니다.
3.3.5.1. oc-mirror 플러그인에서 생성된 리소스 수정에 대한 제한 사항 링크 복사링크가 클립보드에 복사되었습니다!
oc-mirror 플러그인 v2에서 생성된 리소스를 사용하여 클러스터를 구성하는 경우 특정 필드를 변경해서는 안 됩니다. 이러한 필드를 수정하면 오류가 발생할 수 있으며 지원되지 않습니다.
다음 표에는 변경되지 않아야 하는 리소스와 해당 필드가 나열되어 있습니다.
리소스 | 변경하면 안되는 필드 |
---|---|
|
|
|
|
|
|
|
|
서명 |
|
|
|
이러한 리소스에 대한 자세한 내용은 CatalogSource
, ImageDigestMirrorSet
, ImageTagMirrorSet
에 대한 OpenShift API 문서를 참조하세요.
3.3.5.2. oc-mirror 플러그인 v2에서 생성된 리소스를 사용하도록 클러스터 구성 링크 복사링크가 클립보드에 복사되었습니다!
이미지 세트를 미러 레지스트리로 미러링한 후에는 생성된 ImageDigestMirrorSet
(IDMS), ImageTagMirrorSet
(ITMS), CatalogSource
및 UpdateService
리소스를 클러스터에 적용해야 합니다.
oc-mirror 플러그인 v2에서는 IDMS와 ITMS 파일이 전체 이미지 세트를 포괄하는 반면, oc-mirror 플러그인 v1의 ImageContentSourcePolicy
(ICSP) 파일은 그렇지 않습니다. 따라서 증분 미러링 중에 새 이미지만 추가하더라도 IDMS 및 ITMS 파일에는 세트의 모든 이미지가 포함됩니다.
사전 요구 사항
-
cluster-admin
역할의 사용자로 클러스터에 액세스할 수 있어야 합니다.
프로세스
-
cluster-admin
역할의 사용자로 OpenShift CLI에 로그인합니다. 다음 명령을 실행하여 결과 디렉토리의 YAML 파일을 클러스터에 적용합니다.
oc apply -f <path_to_oc_mirror_workspace>/working-dir/cluster-resources
$ oc apply -f <path_to_oc_mirror_workspace>/working-dir/cluster-resources
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 미러링된 릴리스 이미지가 있는 경우 다음 명령을 실행하여 릴리스 이미지 서명을 클러스터에 적용합니다.
oc apply -f working-dir/cluster-resources/signature-configmap.json
$ oc apply -f working-dir/cluster-resources/signature-configmap.json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 중요클러스터 대신 Operator를 미러링하는 경우 이전 명령을 실행하지 마십시오. 명령을 실행하면 적용할 릴리스 이미지 서명이 없기 때문에 오류가 발생합니다.
또한 YAML 파일은 동일한 디렉터리
working-dir/cluster-resources/
에서 사용할 수 있습니다. JSON 또는 YAML 형식을 사용할 수 있습니다.
검증
다음 명령을 실행하여
ImageDigestMirrorSet
리소스가 성공적으로 설치되었는지 확인하세요.oc get imagedigestmirrorset
$ oc get imagedigestmirrorset
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc-mirror
에서 생성된 리소스만 보려면 다음 명령을 실행하세요.oc get imagedigestmirrorset -o jsonpath='{.items[?(@.metadata.annotations.createdBy=="oc-mirror v2")].metadata.name}'
$ oc get imagedigestmirrorset -o jsonpath='{.items[?(@.metadata.annotations.createdBy=="oc-mirror v2")].metadata.name}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
ImageTagMirrorSet
리소스가 성공적으로 설치되었는지 확인하세요.oc get imagetagmirrorset
$ oc get imagetagmirrorset
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc-mirror
에서 생성된 리소스만 보려면 다음 명령을 실행하세요.oc get imagetagmirrorset -o jsonpath='{.items[?(@.metadata.annotations.createdBy=="oc-mirror v2")].metadata.name}'
$ oc get imagetagmirrorset -o jsonpath='{.items[?(@.metadata.annotations.createdBy=="oc-mirror v2")].metadata.name}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
CatalogSource
리소스가 성공적으로 설치되었는지 확인하세요.oc get catalogsource -n openshift-marketplace
$ oc get catalogsource -n openshift-marketplace
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc-mirror
에서 생성된 리소스만 보려면 다음 명령을 실행하세요.oc get catalogsource -o jsonpath='{.items[?(@.metadata.annotations.createdBy=="oc-mirror v2")].metadata.name}'
$ oc get catalogsource -o jsonpath='{.items[?(@.metadata.annotations.createdBy=="oc-mirror v2")].metadata.name}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
ClusterCatalog
리소스가 성공적으로 설치되었는지 확인하세요.oc get clustercatalog
$ oc get clustercatalog
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc-mirror
에서 생성된 리소스만 보려면 다음 명령을 실행하세요.oc get clustercatalog -o jsonpath='{.items[?(@.metadata.annotations.createdBy=="oc-mirror v2")].metadata.name}'
$ oc get clustercatalog -o jsonpath='{.items[?(@.metadata.annotations.createdBy=="oc-mirror v2")].metadata.name}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
oc-mirror 플러그인 v2에서 생성된 리소스를 사용하도록 클러스터를 구성한 후, 미러링된 이미지를 사용하여 수행할 수 있는 작업에 대한 자세한 내용은 다음 단계를 참조하세요.
3.3.6. 연결이 끊긴 환경에서 이미지 삭제 링크 복사링크가 클립보드에 복사되었습니다!
이전에 oc-mirror 플러그인 v2를 사용하여 이미지를 배포한 적이 있는 경우 이러한 이미지를 삭제하여 미러 레지스트리의 공간을 확보할 수 있습니다. oc-mirror 플러그인 v2는 ImageSetConfiguration
파일에 포함되지 않은 이미지를 자동으로 정리하지 않습니다. 이렇게 하면 ImageSetConfig.yaml
파일을 변경할 때 필요하거나 배포된 이미지가 실수로 삭제되는 것을 방지할 수 있습니다.
어떤 이미지를 삭제할지 지정하려면 DeleteImageSetConfiguration
파일을 만들어야 합니다.
다음 예에서 DeleteImageSetConfiguration
파일은 다음 이미지를 제거합니다.
- OpenShift Container Platform 4.13.3의 모든 릴리스 이미지입니다.
-
aws-load-balancer-operator
v0.0.1 번들과 모든 관련 이미지. -
ubi
및ubi-minimal에
대한 추가 이미지는 해당 다이제스트에서 참조됩니다.
DeleteImageSetConfiguration
파일 예제
삭제 문제를 줄이려면 미러-디스크 및 디스크-미러 워크플로를 사용하는 것을 고려하세요.
oc-mirror 플러그인 v2는 이미지의 매니페스트만 삭제하므로 레지스트리에서 차지하는 저장 공간은 줄어들지 않습니다.
삭제된 매니페스트 등 불필요한 이미지에서 저장 공간을 확보하려면 컨테이너 레지스트리에서 가비지 수집기를 활성화해야 합니다. 가비지 수집기를 활성화하면 레지스트리는 더 이상 매니페스트에 대한 참조가 없는 이미지 블롭을 삭제하여 삭제된 블롭이 차지했던 저장 공간을 줄입니다. 가비지 컬렉터를 활성화하는 프로세스는 컨테이너 레지스트리에 따라 다릅니다.
자세한 내용은 "배포 레지스트리에서 저장소 정리 문제 해결"을 참조하세요.
운영자 이미지를 삭제하는 동안 운영자 카탈로그 이미지 삭제를 건너뛰려면
DeleteImageSetConfiguration
파일의 운영자 카탈로그 이미지 아래에 특정 운영자를 나열해야 합니다. 이렇게 하면 카탈로그 이미지가 아닌 지정된 연산자만 삭제됩니다.운영자 카탈로그 이미지만 지정된 경우 해당 카탈로그 내의 모든 운영자와 카탈로그 이미지 자체가 삭제됩니다.
oc-mirror 플러그인 v2는 다른 Operator가 여전히 배포되어 있고 이러한 이미지에 의존할 수 있으므로 Operator 카탈로그 이미지를 자동으로 삭제하지 않습니다.
카탈로그의 운영자가 레지스트리나 클러스터에 더 이상 남아 있지 않다고 확신하는 경우
DeleteImageSetConfiguration
의additionalImages
에 카탈로그 이미지를 명시적으로 추가하여 제거할 수 있습니다.- 가비지 수집 동작은 레지스트리에 따라 달라집니다. 일부 레지스트리는 삭제된 이미지를 자동으로 제거하지 않으므로 시스템 관리자가 수동으로 가비지 수집을 실행하여 공간을 확보해야 합니다.
3.3.6.1. 배포 레지스트리에서 저장소 정리 문제 해결 링크 복사링크가 클립보드에 복사되었습니다!
배포 레지스트리의 알려진 문제로 인해 가비지 수집기가 예상대로 저장소를 확보하지 못합니다. Red Hat Quay를 사용하면 이 문제가 발생하지 않습니다.
프로세스
배포 레지스트리의 알려진 문제를 해결하기 위해 적절한 방법을 선택하세요.
컨테이너 레지스트리를 다시 시작하려면 다음 명령을 실행하세요.
podman restart <registry_container>
$ podman restart <registry_container>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 레지스트리 구성에서 캐싱을 비활성화하려면 다음 단계를 수행하세요.
Blobdescriptor
캐시를 비활성화하려면/etc/docker/registry/config.yml
파일을 수정하세요.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 변경 사항을 적용하려면 다음 명령을 실행하여 컨테이너 레지스트리를 다시 시작하세요.
podman restart <registry_container>
$ podman restart <registry_container>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.3.6.2. 연결이 끊긴 환경에서 이미지 삭제 링크 복사링크가 클립보드에 복사되었습니다!
oc-mirror 플러그인 v2를 사용하여 연결이 끊긴 환경에서 이미지를 삭제하려면 다음 절차를 따르세요.
사전 요구 사항
- 더 이상 매니페스트를 참조하지 않는 이미지를 삭제하기 위해 환경에서 가비지 수집을 활성화했습니다.
프로세스
delete-image-set-config.yaml
파일을 만들고 다음 내용을 포함합니다.DeleteImageSetConfiguration
파일Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1 1
- 삭제할 OpenShift Container Platform 채널의 이름을 지정합니다(예:
stable-4.15)
. - 2 3
- 채널 내에서 삭제할 이미지의 버전 범위를 지정합니다(예: 최소 버전의 경우
4.15.0
, 최대 버전의 경우4.15.1
). 하나의 버전의 이미지만 삭제하려면minVersion
및maxVersion
필드 모두에 해당 버전 번호를 사용하세요. - 4
- 삭제할 운영자가 포함된 운영자 카탈로그 이미지를 지정합니다(예:
registry.redhat.io/redhat/redhat-operator-index:v4.14
). Operator 카탈로그 이미지는 삭제되지 않습니다. 클러스터에 남아 있는 다른 운영자에게도 레지스트리에 있는 것이 필요할 수 있습니다. - 5
- 삭제할 특정 운영자(예:
aws-load-balancer-operator )를
지정합니다. - 6 7
- 운영자에 대해 삭제할 이미지의 버전 범위를 지정합니다. 예를 들어, 최소 버전은
0.0.1
이고 최대 버전은0.0.2입니다
.
다음 명령을 실행하여
delete-images.yaml
파일을 만듭니다.oc mirror delete --config delete-image-set-config.yaml --workspace file://<previously_mirrored_work_folder> --v2 --generate docker://<remote_registry>
$ oc mirror delete --config delete-image-set-config.yaml --workspace file://<previously_mirrored_work_folder> --v2 --generate docker://<remote_registry>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음과 같습니다.
- <previously_mirrored_work_folder>
- 미러링 프로세스 중에 이미지가 이전에 미러링되거나 저장된 디렉토리를 지정합니다.
- <remote_registry>
이미지를 삭제할 원격 컨테이너 레지스트리의 URL이나 주소를 지정합니다.
중요이미지를 삭제할 때 올바른 작업 공간 디렉토리를 지정하세요. 새 클러스터를 설정하는 등 미러링을 처음부터 시작할 때만 캐시 디렉토리를 수정하거나 삭제하세요. 캐시 디렉토리를 잘못 변경하면 추가적인 미러링 작업이 중단될 수 있습니다.
-
생성된
<previously_mirrored_work_folder>/delete
디렉토리로 이동합니다. -
delete-images.yaml
파일이 생성되었는지 확인하세요. - 클러스터에 더 이상 필요하지 않은 파일 내의 각 이미지를 수동으로 확인하고 레지스트리에서 안전하게 제거하세요.
delete-images
YAML 파일을 생성한 후 다음 명령을 실행하여 원격 레지스트리에서 이미지를 삭제합니다.oc mirror delete --v2 --delete-yaml-file <previously_mirrored_work_folder>/working-dir/delete/delete-images.yaml docker://<remote_registry>
$ oc mirror delete --v2 --delete-yaml-file <previously_mirrored_work_folder>/working-dir/delete/delete-images.yaml docker://<remote_registry>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음과 같습니다.
- <previously_mirrored_work_folder>
- 미러링 프로세스 중에 이미지가 이전에 미러링되거나 저장된 디렉토리를 지정합니다.
- <remote_registry>
이미지를 삭제할 원격 컨테이너 레지스트리의 URL이나 주소를 지정합니다.
중요미러-투-미러 방식을 사용하여 이미지를 미러링하는 경우 이미지가 로컬에 캐시되지 않으므로 로컬 캐시에서 이미지를 삭제할 수 없습니다.
3.3.7. 미러링을 위해 선택한 이미지 확인 링크 복사링크가 클립보드에 복사되었습니다!
oc-mirror 플러그인 v2를 사용하면 실제로 이미지를 미러링하지 않는 테스트 실행(드라이 런)을 수행할 수 있습니다. 이를 통해 미러링될 이미지 목록을 검토할 수 있습니다. 또한, 드라이런을 사용하여 이미지 세트 구성의 오류를 일찍 포착할 수도 있습니다. 디스크 미러링 워크플로우에서 드라이런을 실행할 때, oc-mirror 플러그인 v2는 이미지 세트 내의 모든 이미지가 캐시에 있는지 확인합니다. 누락된 이미지는 missing.txt
파일에 나열되어 있습니다. 미러링 전에 드라이런을 수행하면 missing.txt
파일과 mapping.txt
파일에 모두 동일한 이미지 목록이 포함됩니다.
3.3.7.1. oc-mirror 플러그인 v2의 예행 실행 수행 링크 복사링크가 클립보드에 복사되었습니다!
이미지를 미러링하지 않고 테스트 실행을 수행하여 이미지 세트 구성을 확인합니다. 이렇게 하면 설정이 올바른지 확인하고 의도치 않은 변경을 방지할 수 있습니다.
프로세스
테스트 실행을 수행하려면
oc mirror
명령을 실행하고 명령에--dry-run
인수를 추가하세요.oc mirror -c <image_set_config_yaml> file://<oc_mirror_workspace_path> --dry-run --v2
$ oc mirror -c <image_set_config_yaml> file://<oc_mirror_workspace_path> --dry-run --v2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음과 같습니다.
<image_set_config_yaml>
- 생성한 이미지 세트 구성 파일을 지정합니다.
<oc_mirror_workspace_path>
- 작업 공간 경로의 주소를 삽입합니다.
<mirror_registry_url>
이미지를 미러링하거나 삭제할 원격 컨테이너 레지스트리의 URL이나 주소를 삽입하세요.
출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
생성된 작업 공간 디렉토리로 이동합니다.
cd <oc_mirror_workspace_path>
$ cd <oc_mirror_workspace_path>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
생성된
mapping.txt
및missing.txt
파일을 검토합니다. 이러한 파일에는 미러링될 모든 이미지 목록이 포함되어 있습니다.
3.3.7.2. oc-mirror 플러그인 v2 오류 문제 해결 링크 복사링크가 클립보드에 복사되었습니다!
oc-mirror 플러그인 v2는 이제 모든 이미지 미러링 오류를 별도의 파일에 기록하여 오류를 추적하고 진단하기가 더 쉬워졌습니다.
릴리스 또는 릴리스 구성 요소 이미지를 미러링하는 동안 오류가 발생하면 이는 매우 중요합니다. 이렇게 하면 미러링 프로세스가 즉시 중지됩니다.
미러링 운영자, 운영자 관련 이미지 또는 추가 이미지에 오류가 발생해도 미러링 프로세스는 중단되지 않습니다. 미러링은 계속되고, oc-mirror 플러그인 v2는 어느 Operator가 미러링에 실패했는지 설명하는 파일을 working-dir/logs
디렉토리에 저장합니다.
이미지 미러링에 실패하고 해당 이미지가 하나 이상의 Operator 번들의 일부로 미러링되는 경우, oc-mirror 플러그인 v2는 어떤 Operator가 불완전한지 사용자에게 알려서 오류의 영향을 받는 Operator 번들에 대한 명확성을 제공합니다.
프로세스
서버 관련 문제를 확인하세요.
오류 예시
[ERROR] : [Worker] error mirroring image localhost:55000/openshift/graph-image:latest error: copying image 1/4 from manifest list: trying to reuse blob sha256:edab65b863aead24e3ed77cea194b6562143049a9307cd48f86b542db9eecb6e at destination: pinging container registry localhost:5000: Get "https://localhost:5000/v2/": http: server gave HTTP response to HTTPS client
[ERROR] : [Worker] error mirroring image localhost:55000/openshift/graph-image:latest error: copying image 1/4 from manifest list: trying to reuse blob sha256:edab65b863aead24e3ed77cea194b6562143049a9307cd48f86b542db9eecb6e at destination: pinging container registry localhost:5000: Get "https://localhost:5000/v2/": http: server gave HTTP response to HTTPS client
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
oc-mirror 플러그인 v2 출력 디렉토리에 있는
working-dir/logs
폴더에 있는mirroring_error_date_time.log
파일을 엽니다. -
HTTP 500
오류, 만료된 토큰 또는 시간 초과와 같이 일반적으로 서버 측 문제를 나타내는 오류 메시지를 찾아보세요. - 문제가 지속되면 미러링 프로세스를 다시 시도하거나 지원팀에 문의하세요.
-
oc-mirror 플러그인 v2 출력 디렉토리에 있는
운영자의 불완전한 미러링을 확인하세요.
오류 예시
error mirroring image docker://registry.redhat.io/3scale-amp2/zync-rhel9@sha256:8bb6b31e108d67476cc62622f20ff8db34efae5d58014de9502336fcc479d86d (Operator bundles: [3scale-operator.v0.11.12] - Operators: [3scale-operator]) error: initializing source docker://localhost:55000/3scale-amp2/zync-rhel9:8bb6b31e108d67476cc62622f20ff8db34efae5d58014de9502336fcc479d86d: reading manifest 8bb6b31e108d67476cc62622f20ff8db34efae5d58014de9502336fcc479d86d in localhost:55000/3scale-amp2/zync-rhel9: manifest unknown error mirroring image docker://registry.redhat.io/3scale-amp2/3scale-rhel7-operator-metadata@sha256:de0a70d1263a6a596d28bf376158056631afd0b6159865008a7263a8e9bf0c7d error: skipping operator bundle docker://registry.redhat.io/3scale-amp2/3scale-rhel7-operator-metadata@sha256:de0a70d1263a6a596d28bf376158056631afd0b6159865008a7263a8e9bf0c7d because one of its related images failed to mirror error mirroring image docker://registry.redhat.io/3scale-amp2/system-rhel7@sha256:fe77272021867cc6b6d5d0c9bd06c99d4024ad53f1ab94ec0ab69d0fda74588e (Operator bundles: [3scale-operator.v0.11.12] - Operators: [3scale-operator]) error: initializing source docker://localhost:55000/3scale-amp2/system-rhel7:fe77272021867cc6b6d5d0c9bd06c99d4024ad53f1ab94ec0ab69d0fda74588e: reading manifest fe77272021867cc6b6d5d0c9bd06c99d4024ad53f1ab94ec0ab69d0fda74588e in localhost:55000/3scale-amp2/system-rhel7: manifest unknown
error mirroring image docker://registry.redhat.io/3scale-amp2/zync-rhel9@sha256:8bb6b31e108d67476cc62622f20ff8db34efae5d58014de9502336fcc479d86d (Operator bundles: [3scale-operator.v0.11.12] - Operators: [3scale-operator]) error: initializing source docker://localhost:55000/3scale-amp2/zync-rhel9:8bb6b31e108d67476cc62622f20ff8db34efae5d58014de9502336fcc479d86d: reading manifest 8bb6b31e108d67476cc62622f20ff8db34efae5d58014de9502336fcc479d86d in localhost:55000/3scale-amp2/zync-rhel9: manifest unknown error mirroring image docker://registry.redhat.io/3scale-amp2/3scale-rhel7-operator-metadata@sha256:de0a70d1263a6a596d28bf376158056631afd0b6159865008a7263a8e9bf0c7d error: skipping operator bundle docker://registry.redhat.io/3scale-amp2/3scale-rhel7-operator-metadata@sha256:de0a70d1263a6a596d28bf376158056631afd0b6159865008a7263a8e9bf0c7d because one of its related images failed to mirror error mirroring image docker://registry.redhat.io/3scale-amp2/system-rhel7@sha256:fe77272021867cc6b6d5d0c9bd06c99d4024ad53f1ab94ec0ab69d0fda74588e (Operator bundles: [3scale-operator.v0.11.12] - Operators: [3scale-operator]) error: initializing source docker://localhost:55000/3scale-amp2/system-rhel7:fe77272021867cc6b6d5d0c9bd06c99d4024ad53f1ab94ec0ab69d0fda74588e: reading manifest fe77272021867cc6b6d5d0c9bd06c99d4024ad53f1ab94ec0ab69d0fda74588e in localhost:55000/3scale-amp2/system-rhel7: manifest unknown
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 콘솔이나 로그 파일에서 어떤 연산자가 불완전한지 나타내는 경고를 확인하세요.
운영자가 불완전하다고 표시된 경우 해당 운영자와 관련된 이미지가 미러링되지 않았을 가능성이 높습니다.
- 누락된 이미지를 수동으로 미러링하거나 미러링 프로세스를 다시 시도하세요.
생성된 클러스터 리소스와 관련된 오류를 확인합니다. 일부 이미지가 미러링에 실패하더라도 oc-mirror v2는 성공적으로 미러링된 이미지에 대해
IDMS.yaml
및ITMS.yaml
파일과 같은 클러스터 리소스를 생성합니다.- 생성된 파일의 출력 디렉토리를 확인하세요.
- 특정 이미지에서 이러한 파일이 누락된 경우 미러링 프로세스 중에 해당 이미지에 심각한 오류가 발생하지 않았는지 확인하세요.
이러한 단계를 따르면 문제를 더 정확하게 진단하고 더 원활하게 미러링을 보장할 수 있습니다.
3.3.8. 인클레이브 지원의 이점 링크 복사링크가 클립보드에 복사되었습니다!
인클레이브 지원은 네트워크의 특정 부분에 대한 내부 액세스를 제한합니다. 방화벽 경계를 통해 인바운드 및 아웃바운드 트래픽 액세스를 허용하는 비무장지대(DMZ) 네트워크와 달리, 인클레이브는 방화벽 경계를 넘지 않습니다.
새로운 인클레이브 지원 기능은 최소한 하나의 중간 연결 해제 네트워크 뒤에 보안된 여러 인클레이브에 대한 미러링이 필요한 시나리오를 위한 것입니다.
Enclave 지원에는 다음과 같은 이점이 있습니다.
- 여러 개의 엔클레이브에 대한 콘텐츠를 미러링하고 이를 단일 내부 레지스트리에 중앙화할 수 있습니다. 일부 고객은 미러링된 콘텐츠에 대한 보안 검사를 실행하고 싶어하며, 이 설정을 사용하면 모든 검사를 한 번에 실행할 수 있습니다. 그런 다음 해당 콘텐츠는 다운스트림 엔클레이브에 미러링되기 전에 검토됩니다.
- 각 인클레이브에 대해 인터넷에서 미러링 프로세스를 다시 시작하지 않고도 중앙 집중식 내부 레지스트리에서 인클레이브로 직접 콘텐츠를 미러링할 수 있습니다.
- 네트워크 단계 간 데이터 전송을 최소화하여 블롭이나 이미지가 한 단계에서 다른 단계로 한 번만 전송되도록 할 수 있습니다.
3.3.8.1. Enclave 미러링 워크플로 링크 복사링크가 클립보드에 복사되었습니다!
이전 이미지는 인터넷 연결이 있는 환경과 없는 환경을 포함하여 다양한 환경에서 oc-mirror 플러그인을 사용하는 흐름을 간략하게 설명합니다.
인터넷 연결 환경 :
- 사용자는 oc-mirror 플러그인 v2를 실행하여 온라인 레지스트리의 콘텐츠를 로컬 디스크 디렉토리로 미러링합니다.
- 미러링된 콘텐츠는 오프라인 환경으로 전송할 수 있도록 디스크에 저장됩니다.
연결이 끊긴 기업 환경(인터넷 없음) :
흐름 1:
-
사용자는 oc-mirror 플러그인 v2를 실행하여 온라인 환경에서 전송된 디스크 디렉토리의 미러링된 콘텐츠를
enterprise-registry.in
레지스트리로 로드합니다.
-
사용자는 oc-mirror 플러그인 v2를 실행하여 온라인 환경에서 전송된 디스크 디렉토리의 미러링된 콘텐츠를
흐름 2:
-
registries.conf
파일을 업데이트한 후 사용자는 oc-mirror 플러그인 v2를 실행하여enterprise-registry.in
레지스트리의 콘텐츠를 인클레이브 환경으로 미러링합니다. - 내용은 인클레이브로 전송하기 위해 디스크 디렉토리에 저장됩니다.
-
인클레이브 환경(인터넷 없음) :
-
사용자는 oc-mirror 플러그인 v2를 실행하여 디스크 디렉토리의 콘텐츠를
enclave-registry.in
레지스트리로 로드합니다.
이 이미지는 이러한 환경 전반의 데이터 흐름을 시각적으로 표현하고 인터넷 연결 없이 연결이 끊긴 환경과 고립된 환경을 처리하기 위해 oc-mirror를 사용하는 것을 강조합니다.
3.3.8.2. 인클레이브로의 미러링 링크 복사링크가 클립보드에 복사되었습니다!
인클레이브로 미러링할 경우 먼저 하나 이상의 인클레이브에서 필요한 이미지를 엔터프라이즈 중앙 레지스트리로 전송해야 합니다.
중앙 레지스트리는 보안 네트워크, 구체적으로는 연결이 끊긴 환경에 위치하며, 공개 인터넷에 직접 연결되어 있지 않습니다. 하지만 사용자는 공개 인터넷에 액세스할 수 있는 환경에서 oc mirror를
실행해야 합니다.
프로세스
연결이 끊긴 환경에서 oc-mirror 플러그인 v2를 실행하기 전에
registries.conf
파일을 만드세요. 이 사양에서는 파일의 TOML 형식을 다음과 같이 설명합니다.참고$HOME/.config/containers/registries.conf
또는/etc/containers/registries.conf
에 파일을 저장하는 것이 좋습니다.예제
registries.conf
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 미러 아카이브를 생성합니다.
<file_path>/enterprise-content
아래의 디스크에 있는 아카이브에 모든 OpenShift Container Platform 콘텐츠를 수집하려면 다음 명령을 실행하세요.oc mirror --v2 -c isc.yaml file://<file_path>/enterprise-content
$ oc mirror --v2 -c isc.yaml file://<file_path>/enterprise-content
Copy to Clipboard Copied! Toggle word wrap Toggle overflow isc.yaml의 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 아카이브가 생성된 후 연결이 끊긴 환경으로 전송됩니다. 전송 메커니즘은 oc-mirror 플러그인 v2의 일부가 아닙니다. 기업 네트워크 관리자가 전송 전략을 결정합니다.
어떤 경우에는 디스크를 한 위치에서 물리적으로 분리하고 연결이 끊긴 환경의 다른 컴퓨터에 연결하는 방식으로 전송이 수동으로 수행됩니다. 다른 경우에는 SFTP(Secure File Transfer Protocol)나 다른 프로토콜이 사용됩니다.
아카이브 전송이 완료되면 oc-mirror 플러그인 v2를 다시 실행하여 관련 아카이브 내용을 레지스트리(예시에서는
entrerpise_registry.in
)에 미러링할 수 있습니다. 이는 다음 예에서 확인할 수 있습니다.oc mirror --v2 -c isc.yaml --from file://<disconnected_environment_file_path>/enterprise-content docker://<enterprise_registry.in>/
$ oc mirror --v2 -c isc.yaml --from file://<disconnected_environment_file_path>/enterprise-content docker://<enterprise_registry.in>/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음과 같습니다.
-
--from
은 아카이브가 들어 있는 폴더를 가리킵니다.file://
로 시작합니다. -
docker://
는 미러링의 목적지이며 마지막 인수입니다. 도커 레지스트리이기 때문이죠. -
-c
(--config
)는 필수 인수입니다. 이를 통해 oc-mirror 플러그인 v2가 아카이브의 하위 부분만 레지스트리에 미러링할 수 있습니다. 하나의 아카이브에는 여러 개의 OpenShift Container Platform 릴리스가 포함될 수 있지만, 연결이 끊긴 환경이나 인클레이브는 몇 개만 미러링할 수 있습니다.
-
인클레이브에 미러링할 콘텐츠를 설명하는
imageSetConfig
YAML 파일을 준비합니다.isc-enclave.yaml 예시
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 연결이 끊긴 레지스트리에 액세스할 수 있는 컴퓨터에서 oc-mirror 플러그인 v2를 실행해야 합니다. 이전 예에서 연결이 끊긴 환경인
enterprise-registry.in
에 액세스할 수 있습니다.그래프 URL 업데이트
graph:true를
사용하는 경우, oc-mirror 플러그인 v2는cincinnati
API 엔드포인트에 도달하려고 시도합니다. 이 환경은 연결이 끊어졌으므로 OpenShift 업데이트 서비스(OSUS)의 URL을 참조하도록 환경 변수UPDATE_URL_OVERRIDE를
내보내야 합니다.export UPDATE_URL_OVERRIDE=https://<osus.enterprise.in>/graph
$ export UPDATE_URL_OVERRIDE=https://<osus.enterprise.in>/graph
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OpenShift 클러스터에서 OSUS를 설정하는 방법에 대한 자세한 내용은 "OpenShift 업데이트 서비스를 사용하여 연결이 끊긴 환경에서 클러스터 업데이트"를 참조하세요.
참고OpenShift Container Platform Extended Update Support(EUS) 버전 간에 업데이트하는 경우 현재 버전과 대상 버전 사이의 중간 마이너 버전에 대한 이미지도 포함해야 합니다. oc-mirror 플러그인 v2는 항상 이 요구 사항을 자동으로 감지하지 못할 수 있으므로 Red Hat OpenShift Container Platform 업데이트 그래프 페이지에서 필요한 중간 버전을 확인하세요.
업데이트 그래프 페이지를 사용하여 애플리케이션에서 제안한 중간 마이너 버전을 찾은 다음, oc-mirror 플러그인 v2를 사용할 때 이러한 버전을
ImageSetConfiguration
파일에 포함하세요.엔클레이브에 대한 엔터프라이즈 레지스트리에서 미러 아카이브를 생성합니다.
enclave1
에 대한 아카이브를 준비하려면 사용자는 해당 enclave에 특정한imageSetConfiguration
을 사용하여 엔터프라이즈 연결 해제 환경에서 oc-mirror 플러그인 v2를 실행합니다. 이렇게 하면 해당 앙클레이브에 필요한 이미지만 미러링됩니다.oc mirror --v2 -c isc-enclave.yaml
$ oc mirror --v2 -c isc-enclave.yaml file:///disk-enc1/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 작업은 모든 OpenShift Container Platform 콘텐츠를 아카이브로 수집하고 디스크에 아카이브를 생성합니다.
-
아카이브가 생성된 후
enclave1
네트워크로 전송됩니다. 전송 메커니즘은 oc-mirror 플러그인 v2의 책임이 아닙니다. 인클레이브 레지스트리에 대한 미러 콘텐츠
아카이브 전송이 완료된 후 사용자는 oc-mirror 플러그인 v2를 다시 실행하여 관련 아카이브 내용을 레지스트리에 미러링할 수 있습니다.
oc mirror --v2 -c isc-enclave.yaml --from file://local-disk docker://registry.enc1.in
$ oc mirror --v2 -c isc-enclave.yaml --from file://local-disk docker://registry.enc1.in
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이제
enclave1
에 있는 OpenShift Container Platform 클러스터의 관리자는 해당 클러스터를 설치하거나 업그레이드할 준비가 되었습니다.
3.3.9. oc-mirror 플러그인 v2는 프록시 설정을 지원합니다. 링크 복사링크가 클립보드에 복사되었습니다!
oc-mirror 플러그인 v2는 프록시 구성 환경에서 작동할 수 있습니다. 플러그인은 시스템 프록시 설정을 사용하여 OpenShift Container Platform, Operator 카탈로그 및 additionalImages
레지스트리에 대한 이미지를 검색할 수 있습니다.
3.3.10. oc-mirror 플러그인 v2에서 이미지 시그니처 미러링 및 검증 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift Container Platform 4.19부터 oc-mirror 플러그인 v2는 컨테이너 이미지에 대한 cosign 태그 기반 서명의 미러링과 검증을 지원합니다.
3.3.10.1. oc-mirror 플러그인 v2에 대한 서명 미러링 활성화 링크 복사링크가 클립보드에 복사되었습니다!
기본적으로 서명 미러링은 비활성화되어 있습니다. oc mirror
명령에 --remove-signatures=false
플래그를 설정하면 모든 이미지에 대해 서명 미러링을 활성화할 수 있습니다.
활성화된 경우, oc-mirror 플러그인 v2는 다음 이미지에 대한 Sigstore
태그 기반 서명을 미러링합니다.
- OpenShift 컨테이너 플랫폼 릴리스 이미지
- 운영자 이미지
- 추가 이미지
- Helm 차트
구성 파일을 제공하지 않으면 oc-mirror 플러그인 v2는 --remove-signatures=false
플래그를 사용할 때 기본적으로 모든 이미지에 대한 서명 미러링을 활성화합니다.
사용자 정의 구성 디렉토리를 지정하려면 --registries.d
플래그를 사용합니다.
자세한 내용은 containers-registries.d(5)
매뉴얼을 참조하세요.
프로세스
모든 이미지에 대해 서명 미러링을 활성화하려면 다음 명령을 실행하세요.
oc mirror --remove-signatures=false
$ oc mirror --remove-signatures=false
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 전송 프로토콜, 레지스트리, 네임스페이스 또는 이미지와 같은 특정 요소에 대한 서명 미러링을 활성화하거나 비활성화하려면 다음 단계를 따르세요.
-
$HOME/.config/containers/registries.d/
또는/etc/containers/registries.d/
디렉토리에 YAML 파일을 만듭니다. 다음 예에서 볼 수 있듯이
use-sigstore-attachments
매개변수를 지정하고 제어하려는 특정 요소에서 이를true
또는false
로 설정합니다.예:
quay.io
레지스트리에 대한 서명 미러링 비활성화# ... docker: quay.io: use-sigstore-attachments: false # ...
# ... docker: quay.io: use-sigstore-attachments: false # ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예: 모든 레지스트리에 대한 서명 미러링 활성화
# ... default-docker: use-sigstore-attachments: true # ...
# ... default-docker: use-sigstore-attachments: true # ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
3.3.10.2. oc-mirror 플러그인 v2에 대한 서명 검증 활성화 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift Container Platform 4.19부터 oc-mirror 플러그인 v2는 서명 검증을 지원하지만, 이는 기본적으로 비활성화되어 있습니다. 이 플러그인을 활성화하면 컨테이너 이미지가 서명과 일치하는지 확인하여 변경되지 않았고 신뢰할 수 있는 출처에서 왔는지 확인합니다. 서명 불일치가 감지되면 미러링 워크플로가 실패합니다.
프로세스
모든 이미지에 대해 서명 검증을 활성화하려면 다음 명령을 실행하세요.
oc mirror --secure-policy=true
$ oc mirror --secure-policy=true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 전송 프로토콜, 레지스트리, 네임스페이스 또는 이미지와 같은 특정 요소에 대한 서명 검증을 활성화하거나 비활성화하려면 다음 단계를 따르세요.
$HOME/.config/containers/
또는/etc/containers/
디렉토리에policy.json
파일을 만듭니다.참고정책 구성 파일이 기본 디렉토리 외부에 있는 경우
oc mirror
명령과 함께--policy
플래그를 사용하여 해당 경로를 지정할 수 있습니다.자세한 내용은
containers-policy.json(5)을
참조하세요.적절한 정책 구성을 사용하여 원하는 범위(예: 레지스트리 또는 이미지)에 대한 검증 규칙을 정의합니다. 각 요소 아래에 원하는 규칙을 지정하여 검증 요구 사항을 설정할 수 있습니다.
예: 특정 이미지에 대해서만 검증을 활성화하고 다른 모든 이미지는 거부합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.3.11. 연산자 카탈로그에서 필터링이 작동하는 방식 링크 복사링크가 클립보드에 복사되었습니다!
oc-mirror 플러그인 v2는 imageSetConfig
에 있는 정보를 처리하여 미러링할 번들 목록을 선택합니다.
oc-mirror 플러그인 v2가 미러링을 위한 번들을 선택할 때, 그룹 버전 종류(GVK)나 번들 종속성을 추론하지 않으며, 이를 미러링 세트에서 제외합니다. 대신, 사용자 지침을 엄격히 준수합니다. 필수 종속 패키지와 해당 버전을 명시적으로 지정해야 합니다.
ImageSetConfig 연산자 필터링 | 예상 번들 버전 |
---|---|
시나리오 1 mirror: operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.10
| 카탈로그의 각 패키지에는 해당 패키지의 각 채널에 대한 헤드 버전에 해당하는 번들 하나가 있습니다. |
시나리오 2 mirror: operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.10 full: true
| 지정된 카탈로그의 모든 채널의 모든 번들입니다. |
시나리오 3 mirror: operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.10 packages: - name: compliance-operator
| 각 채널의 헤드 버전에 해당하는 하나의 번들입니다. |
시나리오 4 | 지정된 패키지에 대한 모든 채널의 모든 번들입니다. |
시나리오 5 |
모든 채널의 모든 번들( |
시나리오 6 |
해당 패키지의 |
시나리오 7 |
패키지의 |
시나리오 8 |
해당 패키지의 선택된 채널에 대한 헤드 번들입니다. 필터링된 채널이 기본값이 아닌 경우 |
시나리오 9 |
지정된 패키지 및 채널에 대한 모든 번들입니다. 필터링된 채널이 기본값이 아닌 경우에는 |
시나리오 10 | 해당 패키지의 선택된 각 채널에 대한 헤드 번들입니다. |
시나리오 11 |
해당 패키지의 선택된 채널 내에서 |
시나리오 12 |
해당 패키지의 선택된 채널 내에서 |
시나리오 13 |
해당 패키지의 선택된 채널 내에서 |
시나리오 14 |
이 시나리오를 사용하지 마십시오. |
시나리오 15 |
이 시나리오는 사용하지 마세요. |
시나리오 16 |
이 시나리오는 사용하지 마세요. |
3.3.12. oc-mirror 플러그인 v2에 대한 ImageSet 구성 매개변수 링크 복사링크가 클립보드에 복사되었습니다!
oc-mirror 플러그인에는 미러링할 이미지를 정의하는 이미지 세트 구성 파일이 필요합니다. 다음 표에는 ImageSetConfiguration
리소스에 사용 가능한 매개변수가 나열되어 있습니다.
minVersion
및 maxVersion
속성을 사용하여 특정 Operator 버전 범위를 필터링하면 여러 채널 헤드 오류가 발생할 수 있습니다. 오류 메시지는 여러 채널 헤드
가 있음을 나타냅니다. 필터가 적용되면 Operator의 업데이트 그래프가 잘립니다.
OLM에는 모든 Operator 채널에 정확히 하나의 엔드 포인트, 즉 최신 버전의 Operator가 있는 업데이트 그래프를 형성하는 버전이 포함되어 있어야 합니다. 필터 범위가 적용되면 해당 그래프는 두 개 이상의 개별 그래프 또는 두 개 이상의 끝점이 있는 그래프로 전환할 수 있습니다.
이 오류를 방지하려면 최신 버전의 Operator를 필터링하지 마십시오. Operator에 따라 오류가 계속 실행되는 경우 maxVersion
속성을 늘리거나 minVersion
속성을 줄여야 합니다. 모든 Operator 그래프는 다를 수 있으므로 오류가 해결될 때까지 이러한 값을 조정해야 할 수 있습니다.
매개변수 | 설명 | 값 |
---|---|---|
|
|
문자열 예: |
| 이미지 세트 내의 각 아카이브 파일의 최대 크기(GiB)입니다. |
정수 예: |
|
|
부울 예 |
| 이미지 세트의 구성입니다. | 개체 |
| 이미지 세트의 추가 이미지 구성입니다. | 개체 배열 예제: additionalImages: - name: registry.redhat.io/ubi8/ubi:latest
|
| 미러링할 이미지의 태그 또는 다이제스트입니다. |
문자열 예: |
| 미러링을 차단할 태그 또는 다이제스트(SHA)가 포함된 이미지 목록입니다. |
문자열 배열 예: |
|
이미지 세트의 helm 구성입니다. oc-mirror 플러그인은 수동으로 수정된 | 개체 |
| 미러링할 로컬 helm 차트입니다. | 개체의 배열입니다. 예를 들면 다음과 같습니다. local: - name: podinfo path: /test/podinfo-5.0.0.tar.gz
|
| 미러링할 로컬 helm 차트의 이름입니다. |
문자열. 예: |
| 미러링할 로컬 helm 차트의 경로입니다. |
문자열. 예: |
| 미러링할 원격 helm 리포지토리입니다. | 개체의 배열입니다. 예를 들면 다음과 같습니다. |
| 미러링할 helm 저장소 이름입니다. |
문자열. 예: |
| 미러링할 helm 리포지토리의 URL입니다. |
문자열. 예: |
| 미러링할 원격 helm 차트입니다. | 개체의 배열입니다. |
| 미러링할 helm 차트의 이름입니다. |
문자열. 예: |
| Helm 차트 내부의 컨테이너 이미지의 사용자 정의 경로입니다. + 참고
|
문자열 배열. 예: |
| 이미지 세트의 Operator 구성 | 개체 배열 예제: operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:4.19 packages: - name: elasticsearch-operator minVersion: '2.4.0'
|
| 이미지 세트에 포함할 Operator 카탈로그입니다. |
문자열 예: |
|
|
Boolean 기본값은 |
| Operator 패키지 구성입니다. | 개체 배열 예제: operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:4.19 packages: - name: elasticsearch-operator minVersion: '5.2.3-31'
|
| 이미지 세트에 포함할 Operator 패키지 이름입니다. |
문자열 예: |
| 운영자 패키지 채널 구성 | 개체 |
| 이미지 세트에 포함할 Operator 채널 이름은 패키지 내에서 고유합니다. |
문자열 예제: |
| 모든 채널에 걸쳐 가장 높은 버전의 Operator mirror입니다. |
문자열 예: |
| 존재하는 모든 채널에 걸쳐 미러링할 수 있는 Operator의 가장 낮은 버전입니다. |
문자열 예: |
| 모든 채널에 걸쳐 미러링할 수 있는 Operator의 가장 높은 버전입니다. |
문자열 예: |
| 모든 채널에 걸쳐 미러링할 수 있는 가장 낮은 버전의 Operator입니다. |
문자열 예: |
| 참조된 카탈로그를 미러링하기 위한 대체 이름 및 선택적 네임스페이스 계층 |
문자열 예: |
| oc-mirror 플러그인 v2에서 생성된 catalogSource 사용자 정의 리소스를 완성하는 데 사용할 템플릿의 디스크 경로입니다. |
문자열 예: |
|
|
문자열 예: |
| 이미지 세트의 플랫폼 구성입니다. | 개체 |
| 플랫폼 릴리스 페이로드의 아키텍처는 미러링됩니다. | 문자열 배열 예:
기본값은 |
| 이미지 세트의 플랫폼 채널 구성입니다. | 객체 배열 예: channels: - name: stable-4.12 - name: stable-4.19
|
|
|
Boolean 기본값은 |
| 릴리스 채널의 이름 |
문자열 예: |
| 미러링할 참조 플랫폼의 최소 버전입니다. |
문자열 예: |
| 미러링할 참조 플랫폼의 가장 높은 버전입니다. |
문자열 예: |
| 최단 경로 미러링이나 전체 범위 미러링을 전환합니다. |
Boolean 기본값은 |
| 미러링할 플랫폼의 유형 |
문자열 예: |
| OSUS 그래프가 이미지 세트에 추가되고 이후 미러에 게시되는지 여부를 나타냅니다. |
Boolean 기본값은 |
| 필터링에서 기본 채널을 제외할 때 정의해야 합니다. | 개체의 배열입니다. 예를 들면 다음과 같습니다. |
3.3.12.1. ImageSet 구성 매개변수 삭제 링크 복사링크가 클립보드에 복사되었습니다!
oc-mirror 플러그인 v2를 사용하려면 미러 레지스트리에서 삭제할 이미지를 정의하는 이미지 세트 구성 파일을 삭제해야 합니다. 다음 표는 DeleteImageSetConfiguration
리소스에 사용 가능한 매개변수를 나열합니다.
매개변수 | 설명 | 값 |
---|---|---|
|
|
문자열 예: |
| 삭제할 이미지 세트의 구성입니다. | 개체 |
| 삭제 이미지 세트의 추가 이미지 구성입니다. | 객체 배열 예: additionalImages: - name: registry.redhat.io/ubi8/ubi:latest
|
| 삭제할 이미지의 태그 또는 다이제스트입니다. |
문자열 예: |
| 삭제 이미지 세트의 연산자 구성입니다. | 객체 배열 예: operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:{product-version} packages: - name: elasticsearch-operator minVersion: '2.4.0'
|
| 삭제 이미지 세트에 포함할 Operator 카탈로그입니다. |
문자열 예: |
| true인 경우 전체 카탈로그, 운영자 패키지 또는 운영자 채널을 삭제합니다. |
Boolean 기본값은 |
| 운영자 패키지 구성 | 객체 배열 예: operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:{product-version} packages: - name: elasticsearch-operator minVersion: '5.2.3-31'
|
| 삭제 이미지 세트에 포함할 Operator 패키지 이름입니다. |
문자열 예: |
| 운영자 패키지 채널 구성 | 개체 |
| 패키지 내에서 고유한 운영자 채널 이름으로, 삭제 이미지 세트에 포함됩니다. |
문자열 예: |
| 선택한 채널 내에서 삭제할 연산자의 가장 높은 버전입니다. |
문자열 예: |
| 선택 영역 내에서 삭제할 연산자의 가장 낮은 버전입니다. |
문자열 예: |
| 모든 채널에서 삭제할 연산자의 가장 높은 버전입니다. |
문자열 예: |
| 존재하는 모든 채널에서 삭제할 가장 낮은 버전의 연산자입니다. |
문자열 예: |
| 이미지 세트의 플랫폼 구성 | 개체 |
| 플랫폼 릴리스 페이로드의 아키텍처를 삭제합니다. | 문자열 배열 예:
기본값은 |
| 이미지 세트의 플랫폼 채널 구성입니다. | 개체 배열 예제: channels: - name: stable-4.12 - name: stable-4.19
|
|
|
Boolean 기본값은 |
| 릴리스 채널의 이름 |
문자열 예: |
| 삭제할 참조 플랫폼의 최소 버전입니다. |
문자열 예: |
| 삭제할 참조 플랫폼의 가장 높은 버전입니다. |
문자열 예: |
| 가장 짧은 경로 삭제와 전체 범위 삭제 사이를 전환합니다. |
Boolean 기본값은 |
| 삭제할 플랫폼의 유형 |
문자열 예: |
| 미러 레지스트리에서도 OSUS 그래프를 삭제할지 여부를 결정합니다. |
Boolean 기본값은 |
3.3.13. oc-mirror 플러그인 v2에 대한 명령어 참조 링크 복사링크가 클립보드에 복사되었습니다!
다음 표에서는 oc-mirror 플러그인 v2에 대한 oc mirror
하위 명령과 플래그를 설명합니다.
하위 명령 | 설명 |
---|---|
| 모든 하위 명령에 대한 도움말 표시 |
| oc-mirror 버전을 출력합니다 |
| 원격 레지스트리 및 로컬 캐시의 이미지를 삭제합니다. |
플래그 | 설명 |
---|---|
|
인증 파일의 문자열 경로를 표시합니다. 기본값은 |
| 이미지 세트 구성 파일의 경로를 지정합니다. |
|
이 플래그를 사용하면 oc-mirror 플러그인이 미러링 작업 중에 사용할 이미지 블롭과 매니페스트의 영구 캐시를 저장하는 디렉토리를 지정할 수 있습니다. oc-mirror 플러그인은 |
|
컨테이너 레지스트리나 데몬에 액세스할 때 HTTPS가 필요하고 인증서를 확인합니다. 기본값은 |
| 이미지를 미러링하지 않고 동작을 인쇄합니다. |
| oc-mirror 플러그인 v2를 실행하여 대상 레지스트리를 로드하여 생성된 이미지 세트 아카이브의 경로를 지정합니다. |
| 도움말 표시 |
|
이미지 미러링 시간 초과. 기본값은 10m0s입니다. 유효한 시간 단위는 |
|
문자열 로그 수준을 표시합니다. 지원되는 값에는 info, debug, trace, error가 있습니다. 기본값은 |
|
oc-mirror 플러그인 v2 로컬 스토리지 인스턴스에서 사용되는 HTTP 포트를 결정합니다. 기본값은 |
|
병렬로 미러링되는 이미지의 수를 지정합니다. 기본값은 |
|
병렬로 미러링되는 이미지 레이어의 수를 지정합니다. 기본값은 |
|
중첩 경로를 제한하는 대상 레지스트리의 중첩 경로의 최대 수를 지정합니다. 기본값은 |
|
기본값은 |
|
지정된 날짜 이후의 모든 새 콘텐츠를 포함합니다(형식: |
| 컨테이너 레지스트리나 데몬에 액세스할 때 HTTPS가 필요하고 인증서를 확인합니다. |
|
기본값은 |
| oc-mirror 플러그인 v2의 버전을 표시합니다. |
|
|
|
두 번 재시도 사이의 지연 시간입니다. 기본값은 |
|
재시도 횟수. 기본값은 |
|
기본 컨테이너 루트리스 스토리지 경로(일반적으로 |
| 원본 이미지에서 서명을 복사하지 않습니다. |
| 레지스트리 구성 파일이 포함된 디렉토리를 지정합니다. |
| 모든 이미지에 대한 서명 검증이 가능합니다. |
| 서명 검증 정책 파일의 경로를 지정합니다. |
3.3.13.1. 이미지 삭제를 위한 명령어 참조 링크 복사링크가 클립보드에 복사되었습니다!
다음 표에서는 oc mirror
하위 명령과 이미지 삭제 플래그를 설명합니다.
하위 명령 | 설명 |
---|---|
|
인증 파일의 경로입니다. 기본값은 |
|
이 플래그를 사용하면 oc-mirror 플러그인이 미러링 작업 중에 사용할 이미지 블롭과 매니페스트의 영구 캐시를 저장하는 디렉토리를 지정할 수 있습니다. oc-mirror 플러그인은 |
| 삭제 이미지셋 구성 파일의 경로입니다. |
| 삭제 기능으로 생성된 파일의 버전을 구별하는 데 사용됩니다. |
|
|
| 설정하면 생성되거나 업데이트된 YAML 파일을 사용하여 콘텐츠를 삭제합니다. |
|
컨테이너 레지스트리나 데몬과 통신할 때 HTTPS를 요구하고 인증서를 확인합니다. 기본값은 |
| 로컬 캐시 매니페스트와 블롭을 강제로 삭제하는 데 사용됩니다. |
| 매니페스트와 블롭 목록에 대한 삭제 YAML을 생성하는 데 사용되며, 로컬 캐시와 원격 레지스트리에서 삭제할 때 사용됩니다. |
| 도움말을 표시합니다. |
|
|
|
동시에 삭제되는 이미지의 개수를 나타냅니다. 기본값은 |
|
병렬로 미러링되는 이미지 레이어의 수를 나타냅니다. 기본값은 |
|
oc-mirror의 로컬 스토리지 인스턴스에서 사용하는 HTTP 포트입니다. 기본값은 |
|
2번의 재시도 사이의 지연 시간입니다. 기본값은 |
|
재시도 횟수. 기본값은 |
|
컨테이너 레지스트리나 데몬과 통신할 때 HTTPS를 요구하고 인증서를 확인합니다. 기본값은 |
|
|
3.3.13.2. --cache-dir 및 --workspace 플래그에 관하여 링크 복사링크가 클립보드에 복사되었습니다!
--cache-dir
플래그를 사용하면 oc-mirror 플러그인이 미러링 작업 중에 사용할 이미지 블롭과 매니페스트의 영구 캐시를 저장하는 디렉토리를 지정할 수 있습니다.
oc-mirror 플러그인은 디스크-미러
및 미러-디스크 워크
플로에서 캐시를 사용하지만 미러-미러
워크플로에서는 캐시를 사용하지 않습니다. 이 플러그인은 캐시를 사용하여 증분 미러링을 수행하고 변경되지 않은 이미지를 다시 미러링하지 않으므로 시간이 절약되고 네트워크 대역폭 사용량이 줄어듭니다.
캐시 디렉토리에는 마지막으로 성공한 미러링 작업까지의 데이터만 포함됩니다. 캐시 디렉토리를 삭제하거나 손상시키면 oc-mirror 플러그인이 이미지 블롭과 매니페스트를 다시 가져오는데, 이로 인해 전체 리미러링이 강제로 수행되어 네트워크 사용량이 늘어날 수 있습니다.
--workspace
플래그를 사용하면 oc-mirror 플러그인이 미러링 작업 중에 생성하는 작업 파일(예: ImageDigestMirrorSet
및 ImageTagMirrorSet
매니페스트)을 저장하는 디렉토리를 지정할 수 있습니다. 작업 공간 디렉토리를 사용하여 다음 작업을 수행할 수도 있습니다.
- 릴리스 및 운영자 이미지에 대한 압축 해제된 메타데이터를 저장합니다.
-
디스크-투-미러
워크플로에 사용할 tar 아카이브를 생성합니다. - 생성된 구성을 클러스터에 적용합니다.
- 이전 미러링 작업을 반복하거나 재개합니다.
작업 공간 디렉토리를 제거하거나 수정하면 향후 미러링 작업이 실패하거나 클러스터에서 일관되지 않은 이미지 소스를 사용할 수 있습니다.
캐시 또는 작업 공간 디렉토리의 내용을 삭제하거나 수정하면 다음과 같은 문제가 발생할 수 있습니다.
- 미러링 작업이 실패했거나 완료되지 않았습니다.
- 증분 미러링 데이터 손실.
- 전체 리미러링 요구 사항과 네트워크 오버헤드 증가.
영향을 완전히 이해하지 않는 한 이러한 디렉토리를 수정, 이전 또는 삭제하지 마십시오. 성공적인 미러링 작업 후에는 캐시 디렉토리를 정기적으로 백업해야 합니다. 각 미러링 주기 동안 내용이 다시 생성되므로 작업 공간 디렉토리를 백업할 필요가 없습니다.
캐시 및 작업 공간 디렉터리를 효과적으로 관리할 수 있도록 다음의 모범 사례를 고려하세요.
- 영구 저장소 사용: 캐시 및 작업 공간 디렉터리를 안정적이고 백업된 저장소에 저장합니다.
- 성공적인 작업 후 백업: 특히 미러링 주기를 완료한 후에는 캐시 디렉토리를 정기적으로 백업하세요.
- 필요할 때 복원: 데이터 손실이 발생한 경우 전체 리미러링을 수행하지 않고도 백업에서 캐시 및 작업 공간 디렉터리를 복원하여 미러링 작업을 재개합니다.
- 별도의 환경: 충돌을 방지하기 위해 다양한 환경에 대한 전용 디렉토리를 사용합니다.
oc-mirror 명령을 실행할 때 캐시 및 작업 공간 디렉토리를 지정하려면 다음 예를 사용하세요.
oc mirror --config=imageset-config.yaml \ file://local_mirror \ --workspace /mnt/mirror-data/workspace \ --cache-dir /mnt/mirror-data/cache
$ oc mirror --config=imageset-config.yaml \
file://local_mirror \
--workspace /mnt/mirror-data/workspace \
--cache-dir /mnt/mirror-data/cache
--v2
미러링 작업이 완료된 후 디렉토리 구조는 다음과 같습니다.
성공적인 미러링 작업이 끝날 때마다 /mnt/mirror-data/cache
디렉토리를 백업해야 합니다.
3.3.14. 다음 단계 링크 복사링크가 클립보드에 복사되었습니다!
oc-mirror 플러그인 v2를 사용하여 연결이 끊긴 환경으로 이미지를 미러링한 후 다음 작업을 수행할 수 있습니다.