6.2. oc-mirror プラグイン v2 への移行
oc-mirror プラグイン v1 から v2 に移行するには、ImageSetConfiguration ファイルを手動で更新し、ミラーリングコマンドを変更し、v1 アーティファクトをクリーンアップする必要があります。移行を完了するには、次の手順に従ってください。
手順
API バージョンを変更し、
ImageSetConfiguration内の非推奨のフィールドを削除します。oc-mirror プラグイン v1 設定の
ImageSetConfigurationファイルの例kind: ImageSetConfiguration apiVersion: mirror.openshift.io/v1alpha2 mirror: platform: channels: - name: stable-4.17 graph: true helm: repositories: - name: sbo url: https://redhat-developer.github.io/service-binding-operator-helm-chart/ additionalImages: - name: registry.redhat.io/ubi8/ubi:latest - name: quay.io/openshifttest/hello-openshift@sha256:example_hash operators: - catalog: oci:///test/redhat-operator-index packages: - name: aws-load-balancer-operator storageConfig: # REMOVE this field in v2 local: path: /var/lib/oc-mirroroc-mirror プラグイン v2 設定の
ImageSetConfigurationファイルの例kind: ImageSetConfiguration apiVersion: mirror.openshift.io/v2alpha1 mirror: platform: channels: - name: stable-4.17 graph: true helm: repositories: - name: sbo url: https://redhat-developer.github.io/service-binding-operator-helm-chart/ additionalImages: - name: registry.redhat.io/ubi8/ubi:latest - name: quay.io/openshifttest/hello-openshift@sha256:example_hash operators: - catalog: oci:///test/redhat-operator-index packages: - name: aws-load-balancer-operator注記oc-mirror プラグイン v1 から v2 に移行する場合は、
additionalImagesの下にリストされているすべてのイメージに対して明示的なレジストリーホスト名を使用する必要があります。そうしない場合、イメージが間違ったターゲットパスにミラーリングされます。次のコマンドを実行して、作業ディレクトリー内の
cluster-resourcesディレクトリーで IDMS、ITMS、CatalogSource、およびClusterCatalogリソースを確認します。$ ls <v2_workspace>/working-dir/cluster-resources/移行が完了したら、ミラーリングしたイメージとカタログが利用可能であることを確認します。
- ミラーリング中にエラーや警告が発生していないことを確認します。
-
エラーファイルが生成されていないことを確認します (
working-dir/logs/mirroring_errors_YYYYMMdd_HHmmss.txt)。
次のコマンドを使用して、ミラーリングしたイメージとカタログが使用可能であることを確認します。
$ oc get catalogsource -n openshift-marketplace$ oc get imagedigestmirrorset,imagetagmirrorset詳細は、「oc-mirror プラグイン v2 を使用した非接続インストールのイメージのミラーリング」を参照してください。
オプション: oc-mirror プラグイン v1 を使用してミラーリングしたイメージを削除します。
- oc-mirror プラグイン v1 を使用してイメージをミラーリングします。
ImageSetConfigurationファイル内の API バージョンをv1alpha2(v1) からv2alpha1(v2) に更新し、次のコマンドを実行します。$ oc-mirror -c isc.yaml file://some-dir --v2注記storageConfigは、ImageSetConfigurationおよびDeleteImageSetConfigurationファイル内の有効なフィールドではありません。oc-mirror プラグイン v2 に更新する場合は、このフィールドを削除します。次のコマンドを実行して、削除マニフェストを生成し、v1 イメージを削除します。
$ oc-mirror delete --config=delete-isc.yaml --generate --delete-v1-images --workspace file://some-dir docker://registry.example:5000 --v2重要oc-mirror プラグイン v2 は、oc-mirror プラグイン v1 とは異なり、宛先レジストリーを自動的に削除しません。不要になったイメージをクリーンアップするには、
--delete-v1-imagesコマンドフラグを使用して v2 の削除機能を使用してください。oc-mirror プラグイン v1 でミラーリングしたイメージをすべて削除したら、このフラグを使用する必要はなくなります。oc-mirror プラグイン v2 でミラーリングしたイメージを削除する必要がある場合は、
--delete-v1-imagesを設定しないでください。イメージの削除の詳細は、「非接続環境からのイメージの削除」を参照してください。
次のコマンドを実行して、生成されたマニフェストに基づいてイメージを削除します。
$ oc-mirror delete --delete-yaml-file some-dir/working-dir/delete/delete-images.yaml docker://registry.example:5000 --v2