7.6. イメージセット設定の作成
oc-mirror プラグインを使用してイメージセットをミラーリングする前に、イメージセット設定ファイルを作成する必要があります。このイメージセット設定ファイルは、ミラーリングする OpenShift Container Platform リリース、Operator、およびその他のイメージと、oc-mirror プラグインの他の設定を定義します。
イメージセット設定ファイルでストレージバックエンドを指定する必要があります。このストレージバックエンドは、Docker v2-2 をサポートするローカルディレクトリーまたはレジストリーにすることができます。oc-mirror プラグインは、イメージセットの作成中にこのストレージバックエンドにメタデータを保存します。
oc-mirror プラグインによって生成されたメタデータを削除または変更しないでください。同じミラーレジストリーに対して oc-mirror プラグインを実行するたびに、同じストレージバックエンドを使用する必要があります。
前提条件
- コンテナーイメージレジストリーの認証情報ファイルを作成している。手順は、「イメージのミラーリングを可能にする認証情報の設定」を参照してください。
手順
oc mirror initコマンドを使用して、イメージセット設定のテンプレートを作成し、それをimageset-config.yamlというファイルに保存します。$ oc mirror init --registry <storage_backend> > imageset-config.yaml --v1ここでは、以下のようになります。
< ストレージバックエンド >-
ストレージバックエンドのロケーションを指定します (例:
example.com/mirror/oc-mirror-metadata)。
ファイルを編集し、必要に応じて設定を調整します。
kind: ImageSetConfiguration apiVersion: mirror.openshift.io/v1alpha2 archiveSize: 4 storageConfig: registry: imageURL: example.com/mirror/oc-mirror-metadata skipTLS: false mirror: platform: channels: - name: stable-4.20 type: ocp graph: true operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.20 packages: - name: serverless-operator channels: - name: stable additionalImages: - name: registry.redhat.io/ubi9/ubi:latest # ...ここでは、以下のようになります。
archiveSize-
archiveSize を指定することで、イメージセット内の各ファイルの最大サイズを GiB 単位で設定します。 storageConfig-
イメージセットのメタデータを保存するバックエンドの場所を指定します。この場所は、レジストリーまたはローカルディレクトリーにすることができます。
storageConfig値を指定する必要があります。 storageConfig.registry.imageURL- ストレージバックエンドのレジストリー URL を指定します。
mirror.platform.channels.name- OpenShift Container Platform イメージを取得するチャネルを指定します。
mirror.platform.graph-
グラフデータイメージをビルドしてミラーレジストリーにプッシュするには、
graph: trueを指定します。OpenShift Update Service (OSUS) を作成するには、graph-data イメージが必要です。graph: trueフィールドはUpdateServiceカスタムリソースマニフェストも生成します。ocコマンドラインインターフェイス (CLI) は、UpdateServiceカスタムリソースマニフェストを使用して OSUS を作成できます。詳細は、OpenShift Update Service について を参照してください。 mirror.operators.catalog- OpenShift Container Platform イメージを取得する Operator カタログを指定します。
mirror.operators.packages.name- イメージセットに含める Operator パッケージを特定のものだけ指定します。カタログ内のすべてのパッケージを取得するには、このフィールドを削除してください。
mirror.operators.packages.channels.name-
Operator パッケージのうち、イメージセットに含める特定のチャネルのみを指定します。そのチャネルでバンドルを使用しない場合も、常に Operator パッケージのデフォルトチャネルを含める必要があります。デフォルトのチャネルは、次のコマンドを実行することで確認できます:
oc mirror list operators --catalog=<catalog_name> --package=<package_name> --v1. mirror.additionalImages.nameイメージセットに含める追加イメージを指定します。
注記graph: trueフィールドは、他のミラーリングされたイメージとともにubi-microイメージもミラーリングします。OpenShift Container Platform Extended Update Support (EUS) バージョンをアップグレードする場合、現行バージョンとターゲットバージョンの間に中間バージョンが必要になる場合があります。たとえば、最新バージョンが
4.14で、ターゲットバージョンが4.16の場合、oc-mirror プラグイン v1 の使用時にImageSetConfigurationに4.15.8などのバージョンを含める必要がある場合があります。oc-mirror プラグイン v1 は必ずしもこれを自動的に検出するとは限りません。Cincinnati graph の Web ページで 必要な中間バージョンを確認し、手動で設定に追加してください。
パラメーターの完全なリストは、「イメージセットの設定パラメーター」を参照してください。また、さまざまなミラーリングのユースケースは、「イメージセットの設定例」を参照してください。
更新したファイルを保存します。
このイメージセット設定ファイルは、コンテンツをミラーリングするときに
oc mirrorコマンドで必要になります。