4.9.3.2. SQLite ベースのインデックスイメージの更新
カスタムインデックスイメージを参照するカタログソースを使用するようにソフトウェアカタログを設定した後に、クラスター管理者はバンドルイメージをインデックスイメージに追加して、クラスターで利用可能な Operator を最新の状態に維持することができます。
opm index add コマンドを使用して既存インデックスイメージを更新できます。
前提条件
-
opmCLI がインストールされている。 -
podmanバージョン 1.9.3 以降がある。 - インデックスイメージがビルドされ、レジストリーにプッシュされている。
- インデックスイメージを参照する既存のカタログソースがある。
手順
バンドルイメージを追加して、既存のインデックスを更新します。
$ opm index add \ --bundles <registry>/<namespace>/<new_bundle_image>@sha256:<digest> \1 --from-index <registry>/<namespace>/<existing_index_image>:<existing_tag> \2 --tag <registry>/<namespace>/<existing_index_image>:<updated_tag> \3 --pull-tool podman4 - 1
--bundlesフラグは、インデックスに追加する他のバンドルイメージのコンマ区切りリストを指定します。- 2
--from-indexフラグは、以前にプッシュされたインデックスを指定します。- 3
--tagフラグは、更新されたインデックスイメージに適用するイメージタグを指定します。- 4
--pull-toolフラグは、コンテナーイメージのプルに使用されるツールを指定します。ここでは、以下のようになります。
<registry>-
quay.ioやmirror.example.comなどのレジストリーのホスト名を指定します。 <namespace>-
ocs-devやabcなど、レジストリーの namespace を指定します。 <new_bundle_image>-
ocs-operatorなど、レジストリーに追加する新しいバンドルイメージを指定します。 <digest>-
c7f11097a628f092d8bad148406aa0e0951094a03445fd4bc0775431ef683a41などのバンドルイメージの SHA イメージ ID またはダイジェストを指定します。 <existing_index_image>-
abc-redhat-operator-indexなど、以前にプッシュされたイメージを指定します。 <existing_tag>-
以前にプッシュしたイメージのタグ (
4.20など) を指定します。 <updated_tag>-
更新されたインデックスイメージに適用するイメージタグ (
4.20.1など) を指定します。
コマンドの例
$ opm index add \ --bundles quay.io/ocs-dev/ocs-operator@sha256:c7f11097a628f092d8bad148406aa0e0951094a03445fd4bc0775431ef683a41 \ --from-index mirror.example.com/abc/abc-redhat-operator-index:4.20 \ --tag mirror.example.com/abc/abc-redhat-operator-index:4.20.1 \ --pull-tool podman
更新されたインデックスイメージをプッシュします。
$ podman push <registry>/<namespace>/<existing_index_image>:<updated_tag>Operator Lifecycle Manager (OLM) がカタログソースで参照されるインデックスイメージを一定間隔で自動的にポーリングした後に、新規パッケージが正常に追加されたことを確認します。
$ oc get packagemanifests -n openshift-marketplace