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:v5.0

      + -i フラグを使用して公式の Red Hat ベースイメージを指定します。それ以外の場合、Dockerfile はデフォルトのアップストリームイメージを使用します。

      Dockerfile は、直前の手順で作成したカタログディレクトリーと同じ親ディレクトリーに存在する必要があります。

      ディレクトリー構造の例

      .
      ├── <catalog_dir>
      └── <catalog_dir>.Dockerfile

      各項目の説明:

      .
      親ディレクトリーを指定します。
      <catalog_dir>
      カタログディレクトリーを指定します。
      <catalog_dir>.Dockerfile
      opm generate dockerfile コマンドによって生成された Dockerfile を指定します。
    3. opm init コマンドを実行して、カタログに Operator のパッケージ定義を追加します。

      $ opm init <operator_name> \
          --default-channel=preview \
          --description=./README.md \
          --icon=./operator-icon.svg \
          --output yaml \
          > <catalog_dir>/index.yaml
      • <operator_name> 変数は、Operator またはパッケージ名に置き換えます。
      • --default-channel フラグは、指定がない場合にサブスクリプションがデフォルトで使用するチャネルを指定します。
      • --description フラグは、Operator の README.md またはその他のドキュメントへのパスを指定します。
      • --icon フラグは、Operator のアイコンへのパスを指定します。
      • --output フラグは出力形式を指定します。JSON または YAML は有効な値です。
      • <catalog_dir> 変数は、カタログ設定ファイルを作成するためのパスに置き換えます。

        このコマンドは、指定されたカタログ設定ファイルに olm.package 宣言型設定 blob を生成します。

  2. opm render コマンドを実行して、バンドルをカタログに追加します。

    $ opm render <registry>/<namespace>/<bundle_image_name>:<tag> \
        --output=yaml \
        >> <catalog_dir>/index.yaml

    各項目の説明:

    <registry>/<namespace>/<bundle_image_name>:<tag>
    バンドルイメージのプル仕様を指定します。
    <catalog_dir>/index.yaml

    カタログ設定ファイルへのパスを指定します。

    注記

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

  3. バンドルのチャネルエントリーを追加します。たとえば、次の例を仕様に合わせて変更し、<catalog_dir>/index.yaml ファイルに追加します。

    チャネルエントリーの例

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

    バージョン情報の指定時には、<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
トップに戻る