4.11. OCI 형식으로 파일 기반 카탈로그 Operator 이미지 미러링
oc-mirror 플러그인을 사용하여 Docker v2 형식 대신 OCI(Open Container Initiative) 이미지 형식으로 Operator를 미러링할 수 있습니다. OCI 형식의 디스크의 파일 기반 카탈로그에 Operator 이미지를 복사할 수 있습니다. 그런 다음 로컬 OCI 이미지를 대상 미러 레지스트리에 복사할 수 있습니다.
oc-mirror 플러그인을 사용하여 OCI 형식으로 Operator 이미지를 미러링하는 것은 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
OCI 기능을 사용하는 경우 대상 미러 레지스트리에서 이미지가 자동으로 정리되지 않습니다.
사전 요구 사항
- 필요한 컨테이너 이미지를 얻으려면 인터넷에 액세스할 수 있습니다.
-
OpenShift CLI(
oc)가 설치되어 있습니다. -
oc-mirrorCLI 플러그인을 설치했습니다.
프로세스
선택 사항: 필요한 카탈로그 및 이미지를 검색하여 디스크에 저장합니다. 디스크의 OCI 형식의 카탈로그 이미지가 이미 있는 경우 이 단계를 건너뛸 수 있습니다.
이미지 세트 구성 파일을 생성합니다.
디스크에 복사하는 이미지 세트 구성 파일의 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고OCI 기능을 사용하는 경우
mirror.operators.catalog설정만 사용할 수 있습니다.storageConfig설정은oc mirror명령으로 전달되는 위치를 대신해서 무시됩니다.oc mirror명령을 실행하여 지정된 이미지 세트 구성의 이미지를 디스크로 미러링합니다.oc mirror --config=./imageset-config.yaml \ --use-oci-feature \ --oci-feature-action=copy \ oci://my-oci-catalog
$ oc mirror --config=./imageset-config.yaml \1 --use-oci-feature \2 --oci-feature-action=copy \3 oci://my-oci-catalog4 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 이미지 세트 구성 파일을 전달합니다. 이 절차에서는
imageset-config.yaml이라는 이름을 가정합니다. - 2
- OCI 기능을 활성화하려면
--use-oci-feature플래그를 사용합니다. - 3
- 카탈로그를 디스크에 복사하려면
--oci-feature-action플래그를복사하도록 설정합니다. - 4
- 카탈로그를 출력할 디스크의 디렉터리를 지정합니다. 이 절차에서는 이름이
my-oci-catalog인 것으로 가정합니다. 경로는oci://로 시작해야 합니다. 지정된 디렉터리가 전체 경로가 아닌 경우oc mirror명령이 실행되는 현재 작업 디렉터리에 디렉터리가 생성됩니다.
참고선택적으로
--oci-registries-config플래그를 사용하여 TOML 형식의registries.conf파일의 경로를 지정할 수 있습니다. 이미지 세트 구성 파일을 변경하지 않고도 테스트를 위한 사전 프로덕션 위치와 같은 다른 레지스트리에서 미러링할 수 있습니다.registries.conf 파일 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow registry.mirror섹션의위치필드를 이미지를 가져올 대체 레지스트리 위치로 설정합니다.registry섹션의location필드는 이미지 세트 구성 파일에서 지정한 레지스트리 위치와 동일해야 합니다.디렉터리 콘텐츠를 나열하고 다음 디렉터리가 생성되었는지 확인합니다.
ls -l
$ ls -lCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
my-oci-catalog oc-mirror-workspace olm_artifacts
my-oci-catalog1 oc-mirror-workspace2 olm_artifacts3 Copy to Clipboard Copied! Toggle word wrap Toggle overflow
이미지 세트 구성 파일을 업데이트하여 대상 미러 레지스트리에 미러링할 디스크의 카탈로그 위치를 지정합니다.
미러 레지스트리로 미러링을 위한 이미지 세트 구성 파일의 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 디스크의 OCI 카탈로그 위치에 대한 절대 경로를 지정합니다. 이 절차에서는
my-oci-catalog를 디렉터리로 사용하고redhat-operator-index카탈로그를 미러링한 것으로 가정합니다. 경로는oci://로 시작해야 합니다.
oc mirror 명령을 실행하여 디스크에서 이미지 세트 파일을 처리하고 콘텐츠를 대상 미러 레지스트리에 미러링합니다.
oc mirror --config=./imageset-config.yaml \ --use-oci-feature \ --oci-feature-action=mirror \ docker://registry.example:5000
$ oc mirror --config=./imageset-config.yaml \1 --use-oci-feature \2 --oci-feature-action=mirror \3 docker://registry.example:50004 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 업데이트된 이미지 세트 구성 파일을 전달합니다. 이 절차에서는
imageset-config.yaml이라는 이름을 가정합니다. - 2
- OCI 기능을 활성화하려면
--use-oci-feature플래그를 사용합니다. - 3
- 카탈로그를 대상 미러 레지스트리에 미러링하려면
--oci-feature-action플래그를미러로 설정합니다. - 4
- 이미지 세트 파일을 미러링할 레지스트리를 지정합니다. 레지스트리는
docker://로 시작해야 합니다. 미러 레지스트리에 최상위 네임스페이스를 지정하는 경우 후속 실행 시 동일한 네임스페이스를 사용해야 합니다.
참고선택적으로
--oci-insecure-signature-policy플래그를 사용하여 서명을 대상 미러 레지스트리로 내보내지 않습니다.
다음 단계
- oc-mirror에서 생성한 리소스를 사용하도록 클러스터를 구성합니다.