5.2. クラスター拡張機能の管理


カタログを使用すると、拡張機能や Operator のバージョン、パッチ、OTA (over-the-air) 更新にアクセスできます。カスタムリソース (CR) を使用して、CLI から拡張機能を宣言的に管理します。

注記

OpenShift Container Platform 4.22 の場合、OLM v1 の手順に関するドキュメントは CLI ベースのもののみとなっています。別の方法として、管理者は、Import YAML ページや Search ページなどの通常の方法を使用して、Web コンソールで関連オブジェクトを作成および表示することもできます。ただし、既存の Software Catalog および Installed Operators ページに OLM v1 コンポーネントはまだ表示されません。

5.2.1. カタログからインストールする Operator を見つける

クラスターにカタログを追加した後、カタログにクエリーを実行して、インストールする Operator と拡張機能を見つけることができます。

現在、Operator Lifecycle Manager (OLM) v1 では、catalogd によって管理されるクラスター上のカタログをクエリーすることはできません。OLM v1 では、カタログレジストリーをクエリーするには、opm および jq CLI ツールを使用する必要があります。

前提条件

  • クラスターにカタログを追加している。
  • jq CLI ツールがインストールされている。
  • opm がインストールされている。

手順

  1. AllNamespaces インストールモードをサポートし、Webhook を使用しない拡張機能のリストを返すには、次のコマンドを入力します。

    $ opm render <catalog_registry_url>:<tag> \
      | jq -cs '[.[] | select(.schema == "olm.bundle" \
      and (.properties[] | select(.type == "olm.csv.metadata").value.installModes[] \
      | select(.type == "AllNamespaces" and .supported == true)) \
      and .spec.webhookdefinitions == null) | .package] | unique[]'

    各項目の説明:

    catalog_registry_url
    カタログレジストリーの URL (registry.redhat.io/redhat/redhat-operator-index など) を指定します。
    tag

    カタログのタグまたはバージョンを指定します。たとえば、v4.22 または latest など です。

    例5.1 コマンドの例

    $ opm render \
      registry.redhat.io/redhat/redhat-operator-index:v4.22 \
      | jq -cs '[.[] | select(.schema == "olm.bundle" \
      and (.properties[] | select(.type == "olm.csv.metadata").value.installModes[] \
      | select(.type == "AllNamespaces" and .supported == true)) \
      and .spec.webhookdefinitions == null) | .package] | unique[]'

    例5.2 出力例

    "3scale-operator"
    "amq-broker-rhel8"
    "amq-online"
    "amq-streams"
    "amq-streams-console"
    "ansible-automation-platform-operator"
    "ansible-cloud-addons-operator"
    "apicast-operator"
    "authorino-operator"
    "aws-load-balancer-operator"
    "bamoe-kogito-operator"
    "cephcsi-operator"
    "cincinnati-operator"
    "cluster-logging"
    "cluster-observability-operator"
    "compliance-operator"
    "container-security-operator"
    "cryostat-operator"
    "datagrid"
    "devspaces"
    ...
  2. 次のコマンドを実行して、拡張機能のメタデータの内容を検査します。

    $ opm render <catalog_registry_url>:<tag> \
      | jq -s '.[] | select( .schema == "olm.package") \
      | select( .name == "<package_name>")'

    例5.3 コマンドの例

    $ opm render \
      registry.redhat.io/redhat/redhat-operator-index:v4.22 \
      | jq -s '.[] | select( .schema == "olm.package") \
      | select( .name == "openshift-pipelines-operator-rh")'

    例5.4 出力例

    {
      "schema": "olm.package",
      "name": "openshift-pipelines-operator-rh",
      "defaultChannel": "latest",
      "icon": {
        "base64data": "iVBORw0KGgoAAAANSUhE...",
        "mediatype": "image/png"
      }
    }

5.2.1.1. 一般的なカタログクエリー

opm および jq CLI ツールを使用してカタログをクエリーできます。次の表は、拡張機能のインストール、更新、およびライフサイクルの管理時に使用できる一般的なカタログクエリーを示しています。

コマンド構文

$ opm render <catalog_registry_url>:<tag> | <jq_request>

各項目の説明:

catalog_registry_url
カタログレジストリーの URL (registry.redhat.io/redhat/redhat-operator-index など) を指定します。
tag
カタログのタグまたはバージョンを指定します。たとえば、v4.22 または latest など です。
jq_request
カタログで実行するクエリーを指定します。

例5.5 コマンドの例

$ opm render \
  registry.redhat.io/redhat/redhat-operator-index:v4.22 \
  | jq -cs '[.[] | select(.schema == "olm.bundle" and (.properties[] \
  | select(.type == "olm.csv.metadata").value.installModes[] \
  | select(.type == "AllNamespaces" and .supported == true)) \
  and .spec.webhookdefinitions == null) \
  | .package] | unique[]'
Expand
表5.1 一般的なパッケージクエリー
クエリーRequest

カタログで利用可能なパッケージ

$ opm render <catalog_registry_url>:<tag> \
  | jq -s '.[] | select( .schema == "olm.package")'

AllNamespaces インストールモードをサポートし、Webhook を使用しないパッケージ

$ opm render <catalog_registry_url>:<tag> \
  | jq -cs '[.[] | select(.schema == "olm.bundle" and (.properties[] \
  | select(.type == "olm.csv.metadata").value.installModes[] \
  | select(.type == "AllNamespaces" and .supported == true)) \
  and .spec.webhookdefinitions == null) \
  | .package] | unique[]'

パッケージのメタデータ

$ opm render <catalog_registry_url>:<tag> \
  | jq -s '.[] | select( .schema == "olm.package") \
  | select( .name == "<package_name>")'

パッケージ内のカタログブロブ

$ opm render <catalog_registry_url>:<tag> \
  | jq -s '.[] | select( .package == "<package_name>")'
Expand
表5.2 一般的なチャネルクエリー
クエリーRequest

パッケージのチャネル

$ opm render <catalog_registry_url>:<tag> \
  | jq -s '.[] | select( .schema == "olm.channel" ) \
  | select( .package == "<package_name>") | .name'

チャネル内のバージョン

$ opm render <catalog_registry_url>:<tag> \
  | jq -s '.[] | select( .package == "<package_name>" ) \
  | select( .schema == "olm.channel" ) \
  | select( .name == "<channel_name>" ) .entries \
  | .[] | .name'
  • チャネルの最新バージョン
  • アップグレードパス
$ opm render <catalog_registry_url>:<tag> \
  | jq -s '.[] | select( .schema == "olm.channel" ) \
  | select ( .name == "<channel_name>") \
  | select( .package == "<package_name>")'
Expand
表5.3 一般的なバンドルクエリー
クエリーRequest

パッケージ内のバンドル

$ opm render <catalog_registry_url>:<tag> \
  | jq -s '.[] | select( .schema == "olm.bundle" ) \
  | select( .package == "<package_name>") | .name'
  • 依存関係をバンドルする
  • 利用可能な API
$ opm render <catalog_registry_url>:<tag> \
  | jq -s '.[] | select( .schema == "olm.bundle" ) \
  | select ( .name == "<bundle_name>") \
  | select( .package == "<package_name>")'
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る