7.11. ローカルの OCI Operator カタログを含む
OpenShift Container Platform リリース、Operator カタログ、および追加イメージをレジストリーから部分的に切断されたクラスターにミラーリングするときに、ディスク上のローカルのファイルベースのカタログから Operator カタログイメージを含めることができます。ローカルカタログは Open Container Initiative (OCI) 形式である必要があります。
ローカルカタログとそのコンテンツは、イメージセット設定ファイル内のフィルタリング情報に基づいて、ターゲットミラーレジストリーにミラーリングされます。
ローカル OCI カタログをミラーリングする場合、ローカル OCI 形式のカタログとともにミラーリングする OpenShift Container Platform リリースまたは追加のイメージをレジストリーからプルする必要があります。
OCI カタログを oc-mirror イメージセットファイルと一緒にディスク上でミラーリングすることはできません。
OCI 機能を使用するユースケースの 1 つの例は、ディスク上の場所に OCI カタログを構築している CI/CD システムがあり、その OCI カタログを OpenShift Container Platform リリースとともにミラーレジストリーにミラーリングしたい場合です。
OpenShift Container Platform 4.12 の oc-mirror プラグインの Technology Preview OCI ローカルカタログ機能を使用した場合、完全に切断されたクラスターへのミラーリングの最初のステップとして、ローカルにカタログをコピーして OCI 形式に変換するために oc-mirror プラグインの OCI ローカルカタログ機能を使用できないようになりました。
前提条件
- 必要なコンテナーイメージを取得するためのインターネットへのアクセスがある。
-
OpenShift CLI (
oc) がインストールされている。 - oc-mirror CLI プラグインがインストールされている。
手順
イメージセット設定ファイルを作成し、必要に応じて設定を調整します。
次のイメージセット設定例では、OpenShift Container Platform リリースおよび
registry.redhat.ioの UBI イメージとともに、ディスク上の OCI カタログをミラーリングします。kind: ImageSetConfiguration apiVersion: mirror.openshift.io/v1alpha2 storageConfig: local: path: /home/user/metadata1 mirror: platform: channels: - name: stable-4.192 type: ocp graph: false operators: - catalog: oci:///home/user/oc-mirror/my-oci-catalog3 targetCatalog: my-namespace/redhat-operator-index4 packages: - name: aws-load-balancer-operator - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.195 packages: - name: rhacs-operator additionalImages: - name: registry.redhat.io/ubi9/ubi:latest6 - 1
- イメージセットのメタデータを保存するバックエンドの場所を設定します。この場所は、レジストリーまたはローカルディレクトリーにすることができます。
storageConfig値を指定する必要があります。 - 2
- オプションで、
registry.redhat.ioからミラーリングする OpenShift Container Platform リリースを含めます。 - 3
- ディスク上の OCI カタログの場所への絶対パスを指定します。OCI 機能を使用する場合、パスは
oci://で始まる必要があります。 - 4
- 必要に応じて、カタログをミラーリングする代替の namespace と名前を指定します。
- 5
- 必要に応じて、レジストリーから取得する追加の Operator カタログを指定します。
- 6
- 必要に応じて、レジストリーからプルする追加のイメージを指定します。
oc mirrorコマンドを実行して、OCI カタログをターゲットミラーレジストリーにミラーリングします。$ oc mirror --config=./imageset-config.yaml \1 docker://registry.example:50002 オプションで、他のフラグを指定して OCI 機能の動作を調整できます。
--oci-insecure-signature-policy- 署名をターゲットミラーレジストリーにプッシュしないでください。
--oci-registries-configTOML 形式の
registries.confファイルへのパスを指定します。これを使用して、イメージセット設定ファイルを変更することなく、テスト用の運用前の場所など、別のレジストリーからミラーリングできます。このフラグはローカル OCI カタログにのみ影響し、他のミラーリングされたコンテンツには影響しません。registries.conf ファイルの例
[[registry]] location = "registry.redhat.io:5000" insecure = false blocked = false mirror-by-digest-only = true prefix = "" [[registry.mirror]] location = "preprod-registry.example.com" insecure = false
次のステップ
- oc-mirror が生成したリソースを使用するようにクラスターを設定します。