4.11. 로컬 OCI Operator 카탈로그 포함
OpenShift Container Platform 릴리스, Operator 카탈로그 및 추가 이미지를 레지스트리에서 부분적으로 연결이 끊긴 클러스터로 미러링하는 동안 디스크의 로컬 파일 기반 카탈로그의 Operator 카탈로그 이미지를 포함할 수 있습니다. 로컬 카탈로그는 OCI(Open Container Initiative) 형식이어야 합니다.
로컬 카탈로그 및 해당 콘텐츠는 이미지 세트 구성 파일의 필터링 정보를 기반으로 대상 미러 레지스트리에 미러링됩니다.
로컬 OCI 카탈로그를 미러링할 때 OpenShift Container Platform 릴리스 또는 로컬 OCI 형식의 카탈로그와 함께 미러링하려는 추가 이미지를 레지스트리에서 가져와야 합니다.
디스크에 oc-mirror 이미지 세트 파일과 함께 OCI 카탈로그를 미러링할 수 없습니다.
OCI 기능을 사용하는 한 가지 사용 사례는 CI/CD 시스템이 디스크의 위치에 OCI 카탈로그를 빌드하는 경우이고, OpenShift Container Platform 릴리스와 함께 미러 레지스트리에 해당 OCI 카탈로그를 미러링하려는 경우입니다.
OpenShift Container Platform 4.12용 oc-mirror 플러그인에 대한 기술 프리뷰 OCI 로컬 카탈로그 기능을 사용한 경우 oc-mirror 플러그인의 OCI 로컬 카탈로그 기능을 사용하여 카탈로그를 로컬로 복사하고 OCI 형식으로 변환하여 완전히 연결이 끊긴 클러스터로 미러링할 수 없습니다.
사전 요구 사항
- 필요한 컨테이너 이미지를 얻으려면 인터넷에 액세스할 수 있습니다.
-
OpenShift CLI(
oc
)가 설치되어 있습니다. -
oc-mirror
CLI 플러그인을 설치했습니다.
프로세스
이미지 세트 구성 파일을 생성하고 필요에 따라 설정을 조정합니다.
다음 예제 이미지 세트 구성은 OpenShift Container Platform 릴리스 및
registry.redhat.io
의 UBI 이미지와 함께 디스크에서 OCI 카탈로그를 미러링합니다.kind: ImageSetConfiguration apiVersion: mirror.openshift.io/v1alpha2 storageConfig: local: path: /home/user/metadata 1 mirror: platform: channels: - name: stable-4.13 2 type: ocp graph: false operators: - catalog: oci:///home/user/oc-mirror/my-oci-catalog 3 targetCatalog: my-namespace/redhat-operator-index 4 packages: - name: aws-load-balancer-operator - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.13 5 packages: - name: rhacs-operator additionalImages: - name: registry.redhat.io/ubi9/ubi:latest 6
- 1
- 이미지 세트 메타데이터를 저장할 백엔드 위치를 설정합니다. 이 위치는 레지스트리 또는 로컬 디렉터리일 수 있습니다.
storageConfig
값을 지정해야 합니다. - 2
- 선택적으로
registry.redhat.io
에서 미러링할 OpenShift Container Platform 릴리스를 포함합니다. - 3
- 디스크의 OCI 카탈로그 위치에 대한 절대 경로를 지정합니다. OCI 기능을 사용하는 경우 경로는
oci://
로 시작해야 합니다. - 4
- 필요한 경우 카탈로그를 미러링할 대체 네임스페이스와 이름을 지정합니다.
- 5
- 필요한 경우 레지스트리에서 가져올 추가 Operator 카탈로그를 지정합니다.
- 6
- 선택적으로 레지스트리에서 가져올 추가 이미지를 지정합니다.
oc mirror
명령을 실행하여 OCI 카탈로그를 대상 미러 레지스트리에 미러링합니다.$ oc mirror --config=./imageset-config.yaml \ 1 --include-local-oci-catalogs 2 docker://registry.example:5000 3
선택적으로 다른 플래그를 지정하여 OCI 기능의 동작을 조정할 수 있습니다.
--oci-insecure-signature-policy
- 서명을 대상 미러 레지스트리로 내보내지 마십시오.
--oci-registries-config
TOML 형식의
registries.conf
파일의 경로를 지정합니다. 이미지 세트 구성 파일을 변경하지 않고도 테스트를 위한 사전 프로덕션 위치와 같은 다른 레지스트리에서 미러링할 수 있습니다. 이 플래그는 다른 미러링된 콘텐츠가 아닌 로컬 OCI 카탈로그에만 영향을 미칩니다.registries.conf 파일 예
[[registry]] location = "registry.redhat.io:5000" insecure = false blocked = false mirror-by-digest-only = true prefix = "" [[registry.mirror]] location = "preprod-registry.example.com" insecure = false
다음 단계
- oc-mirror에서 생성한 리소스를 사용하도록 클러스터를 구성합니다.