4.5. 카탈로그 생성


카탈로그 유지 관리자는 OpenShift Container Platform의 OLM(Operator Lifecycle Manager) v1과 함께 사용할 파일 기반 카탈로그 형식으로 새 카탈로그를 생성할 수 있습니다.

4.5.1. 파일 기반 카탈로그 이미지 생성

opm CLI를 사용하여 더 이상 사용되지 않는 SQLite 데이터베이스 형식을 대체하는 일반 텍스트 파일 기반 카탈로그 형식(JSON 또는 YAML)을 사용하는 카탈로그 이미지를 생성할 수 있습니다.

사전 요구 사항

  • opm CLI를 설치했습니다.
  • podman 버전 1.9.3+이 있습니다.
  • 번들 이미지가 빌드되어 Docker v2-2 를 지원하는 레지스트리로 푸시됩니다.

프로세스

  1. 카탈로그를 초기화합니다.

    1. 다음 명령을 실행하여 카탈로그의 디렉터리를 생성합니다.

      $ mkdir <catalog_dir>
    2. opm generate dockerfile 명령을 실행하여 카탈로그 이미지를 빌드할 수 있는 Dockerfile을 생성합니다.

      $ opm generate dockerfile <catalog_dir> \
          -i registry.redhat.io/openshift4/ose-operator-registry-rhel9:v4.21 
      1
      1
      -i 플래그를 사용하여 공식 Red Hat 기본 이미지를 지정합니다. 그러지 않으면 Dockerfile에서 기본 업스트림 이미지를 사용합니다.

      Dockerfile은 이전 단계에서 생성한 카탈로그 디렉터리와 동일한 상위 디렉터리에 있어야 합니다.

      디렉터리 구조의 예

      . 
      1
      
      ├── <catalog_dir> 
      2
      
      └── <catalog_dir>.Dockerfile 
      3

      1
      상위 디렉터리
      2
      카탈로그 디렉터리
      3
      opm generate dockerfile 명령으로 생성된 Dockerfile
    3. opm init 명령을 실행하여 카탈로그를 Operator의 패키지 정의로 채웁니다.

      $ opm init <operator_name> \ 
      1
      
          --default-channel=preview \ 
      2
      
          --description=./README.md \ 
      3
      
          --icon=./operator-icon.svg \ 
      4
      
          --output yaml \ 
      5
      
          > <catalog_dir>/index.yaml 
      6
      1
      Operator 또는 패키지, 이름
      2
      서브스크립션이 지정되지 않은 경우 기본값으로 설정된 채널
      3
      Operator의 README.md 또는 기타 문서 경로
      4
      Operator 아이콘 경로
      5
      출력 형식: JSON 또는 YAML
      6
      카탈로그 구성 파일을 생성하는 경로

      이 명령은 지정된 카탈로그 구성 파일에 olm.package 선언적 구성 blob을 생성합니다.

  2. opm render 명령을 실행하여 카탈로그에 번들을 추가합니다.

    $ opm render <registry>/<namespace>/<bundle_image_name>:<tag> \ 
    1
    
        --output=yaml \
        >> <catalog_dir>/index.yaml 
    2
    1
    번들 이미지의 가져오기 사양
    2
    카탈로그 구성 파일의 경로
    참고

    채널에는 하나 이상의 번들이 포함되어야 합니다.

  3. 번들에 채널 항목을 추가합니다. 예를 들어 다음 예제를 사양에 맞게 수정하고 < catalog_dir>/index.yaml 파일에 추가합니다.

    채널 항목 예

    ---
    schema: olm.channel
    package: <operator_name>
    name: preview
    entries:
      - name: <operator_name>.v0.1.0 
    1

    1
    <operator_name> 뒤의 마침표(.)를 버전 v 앞에 포함해야 합니다. 그렇지 않으면 항목이 opm validate 명령을 전달하지 못합니다.
  4. 파일 기반 카탈로그를 확인합니다.

    1. 카탈로그 디렉터리에 대해 opm validate 명령을 실행합니다.

      $ opm validate <catalog_dir>
    2. 오류 코드가 0인지 확인합니다.

      $ echo $?

      출력 예

      0

  5. podman build 명령을 실행하여 카탈로그 이미지를 빌드합니다.

    $ podman build . \
        -f <catalog_dir>.Dockerfile \
        -t <registry>/<namespace>/<catalog_image_name>:<tag>
  6. 카탈로그 이미지를 레지스트리로 푸시합니다.

    1. 필요한 경우 podman login 명령을 실행하여 대상 레지스트리로 인증합니다.

      $ podman login <registry>
    2. podman push 명령을 실행하여 카탈로그 이미지를 푸시합니다.

      $ podman push <registry>/<namespace>/<catalog_image_name>:<tag>
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 소개

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

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

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

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동