This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.10.4. Operator カタログイメージの更新
クラスター管理者がカスタム Operator カタログイメージを使用するように OperatorHub を設定した後、管理者は Red Hat の App Registry カタログに追加された更新をキャプチャーして、OpenShift Container Platform クラスターを最新の Operator と共に最新の状態に保つことができます。これは、新規 Operator カタログイメージをビルドし、プッシュしてから、既存の CatalogSource の spec.image パラメーターを新規イメージダイジェストに置き換えることによって実行されます。
この例では、カスタムの redhat-operators カタログイメージが OperatorHub と使用するように設定されていることを前提としています。
前提条件
- ネットワークアクセスが無制限の Linux ワークステーション [1]
-
ocversion 4.3.5+ -
podmanversion 1.4.4+ - Docker v2-2 をサポートするミラーレジストリーへのアクセス
- カスタムカタログイメージを使用するように設定されている OperatorHub
プライベートレジストリーを使用している場合、後続の手順で使用するために
REG_CREDS環境変数をレジストリー認証情報のファイルパスに設定します。たとえばpodmanCLI の場合は、以下のようになります。REG_CREDS=${XDG_RUNTIME_DIR}/containers/auth.json$ REG_CREDS=${XDG_RUNTIME_DIR}/containers/auth.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow quay.io アカウントがアクセスできるプライベート namespace を使用している場合、Quay 認証トークンを設定する必要があります。quay.io 認証情報を使用してログイン API に対して要求を行うことにより、
--auth-tokenフラグで使用できるAUTH_TOKEN環境変数を設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
手順
ネットワークアクセスが無制限のワークステーションで、ターゲットミラーレジストリーを使用して認証を行います。
podman login <registry_host_name>
$ podman login <registry_host_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow また、ビルド時にベースイメージをプルできるように、
registry.redhat.ioで認証します。podman login registry.redhat.io
$ podman login registry.redhat.ioCopy to Clipboard Copied! Toggle word wrap Toggle overflow quay.ioから
redhat-operatorsカタログをベースに新規カタログイメージをビルドし、そのイメージにタグを付け、ミラーレジストリーにプッシュします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- App Registry インスタンスからのプルに使用する組織 (namespace)。
- 2
- ターゲット OpenShift Container Platform クラスターのメジャーバージョンおよびマイナーバージョンに一致するタグを使用して、
--fromをose-operator-registryベースイメージに設定します。 - 3
--filter-by-osを、ターゲットの OpenShift Container Platform クラスターと一致する必要のある、ベースイメージに使用するオペレーティングシステムおよびアーキテクチャーに設定します。使用できる値は、linux/amd64、linux/ppc64le、およびlinux/s390xです。- 4
- カタログイメージに名前を付け、タグを追加します (更新済みのカタログの場合は
v2などのタグ)。 - 5
- オプション: 必要な場合は、レジストリー認証情報ファイルの場所を指定します。
- 6
- オプション: ターゲットレジストリーの信頼を設定しない場合は、
--insecureフラグを追加します。 - 7
- オプション: 公開されていない他のアプリケーションレジストリーカタログが使用されている場合、Quay 認証トークンを指定します。
カタログのコンテンツをターゲットレジストリーに対してミラーリングします。以下の
oc adm catalog mirrorコマンドは、カスタム Operator カタログイメージのコンテンツを抽出し、ミラーリングに必要なマニフェストを生成し、イメージをレジストリーにミラーリングします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 新規の Operator カタログイメージを指定します。
- 2
- オプション: 必要な場合は、レジストリー認証情報ファイルの場所を指定します。
- 3
- オプション: ターゲットレジストリーの信頼を設定しない場合は、
--insecureフラグを追加します。 - 4
- オプション: カタログは複数のアーキテクチャーおよびオペレーティングシステムをサポートするイメージを参照する可能性があるため、アーキテクチャーおよびオペレーティングシステムでフィルターして、一 致するイメージのみをミラーリングするようにできます。使用できる値は、
linux/amd64、linux/ppc64le、およびlinux/s390xです。
新たに生成されたマニフェストを適用します。
oc apply -f ./redhat-operators-manifests
$ oc apply -f ./redhat-operators-manifestsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重要imageContentSourcePolicy.yamlマニフェストを適用する必要がない場合があります。ファイルのdiffを完了して、変更が必要かどうかを判断します。カタログイメージを参照する CatalogSource オブジェクトを更新します。
この CatalogSource の元の
catalogsource.yamlファイルがある場合:catalogsource.yamlファイルを編集し、spec.imageフィールドで新規カタログイメージを参照できるようにします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 新規の Operator カタログイメージを指定します。
更新されたファイルを使用して CatalogSource オブジェクトを置き換えます。
oc replace -f catalogsource.yaml
$ oc replace -f catalogsource.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
または、以下のコマンドを使用して CatalogSource を編集し、
spec.imageパラメーターで新規カタログイメージを参照します。oc edit catalogsource <catalog_source_name> -n openshift-marketplace
$ oc edit catalogsource <catalog_source_name> -n openshift-marketplaceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
更新された Operator は、OpenShift Container Platform クラスターの OperatorHub ページから利用できるようになりました。