4.5. カタログの作成


カタログ管理者は、OpenShift Container Platform 上の Operator Lifecycle Manager (OLM) 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.20 
      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
    カタログ設定ファイルへのパス。
    注記

    チャネルには、1 つ以上のバンドルが含まれる必要があります。

  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 では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る