3.4. oc-mirror プラグイン v1 から v2 への移行


oc-mirror v2 プラグインは、イメージのミラーリングワークフローに大きな変更をもたらします。このガイドでは、oc-mirror プラグイン v2 との互換性を確保しながら移行する手順を段階的に説明します。

重要

API バージョンを変更し、非推奨のフィールドを削除して、設定を手動で更新する必要があります。詳細は、「oc-mirror プラグイン v1 から v2 への変更点」を参照してください。

3.4.1. oc-mirror プラグイン v1 から v2 への変更点

oc-mirror プラグイン v1 から v2 に移行する前に、以下に示す oc-mirror プラグイン v1 と v2 の違いを確認してください。

  • 明示的なバージョン選択: oc-mirror を使用する場合、ユーザーは --v2 を明示的に指定する必要があります。バージョンが指定されていない場合は、デフォルトで v1 が実行されます。この動作は今後のリリースで変更される予定です。今後のリリースでは --v2 がデフォルトになります。
  • コマンドの更新: ミラーリングワークフローのコマンドが、oc-mirror プラグイン v2 の新しいワークフローに合わせて変更されました。

    • ミラーからディスクへのミラーリングの場合は、次のコマンドを実行します。

      $ oc-mirror --config isc.yaml file://<directory_name> --v2
      Copy to Clipboard Toggle word wrap
    • ディスクからミラーへのミラーリングの場合は、次のコマンドを実行します。

      $ oc-mirror --config isc.yaml --from file://<directory_name> docker://<remote_registry> --v2
      Copy to Clipboard Toggle word wrap
    • ミラーからミラーへのミラーリングの場合は、次のコマンドを実行します。

      $ oc-mirror --config isc.yaml --workspace file://<directory_name> docker://<remote_registry> --v2
      Copy to Clipboard Toggle word wrap
      注記

      ミラー間の操作には --workspace が必須になりました。

  • API バージョンの更新: ImageSetConfiguration の API バージョンが v1alpha2 (v1) から v2alpha1 (v2) に変更されます。移行前に設定ファイルを手動で更新する必要があります。
  • 設定の変更:

    • oc-mirror プラグイン v2 では storageConfig を削除する必要があります。
    • 増分ミラーリングが、作業ディレクトリーまたはローカルキャッシュを通じて自動的に処理されるようになりました。
  • 結果ディレクトリーの変更: 非接続クラスターに適用されるすべてのカスタムリソースが、移行後に <workspace_path>/working-dir/cluster-resources ディレクトリーに生成されます。

    • oc-mirror プラグイン v2 の出力は、oc-mirror プラグイン v1 と同じ場所には保存されません。
    • 作業ディレクトリー配下の cluster-resources フォルダーで次のリソースを確認する必要があります。

      • ImageDigestMirrorSet (IDMS)
      • ImageTagMirrorSet (ITMS)
      • CatalogSource
      • ClusterCatalog
      • UpdateService
  • ワークスペースとディレクトリーの命名: バージョン間の移行時に潜在的なデータの不整合が発生しないように、oc-mirror v2 の新しい規則に従ってください。

    • oc-mirror プラグイン v1 の oc-mirror-workspace ディレクトリーは不要になりました。
    • 競合を避けるために、oc-mirror プラグイン v2 用の新しいディレクトリーを使用します。
  • ImageContentSourcePolicy (ICSP) リソースと IDMS/ITMS の置き換え:

    重要

    すべての ImageContentSourcePolicy (ICSP) リソースを削除すると、oc-mirror に関係のない設定が削除される可能性があります。

    意図しない削除を回避するために、oc-mirror によって生成された ICSP リソースを、削除する前に特定してください。不明な場合は、クラスター管理者に確認してください。詳細は、「oc-mirror プラグイン v2 を使用した非接続インストールのイメージのミラーリング」を参照してください。

    • oc-mirror プラグイン v2 では、ICSP リソースは ImageDigestMirrorSet (IDMS) および ImageTagMirrorSet (ITMS) リソースに置き換えられます。

3.4.2. oc-mirror プラグイン v2 への移行

oc-mirror プラグイン v1 から v2 に移行するには、ImageSetConfiguration ファイルを手動で更新し、ミラーリングコマンドを変更し、v1 アーティファクトをクリーンアップする必要があります。移行を完了するには、次の手順に従ってください。

手順

  1. 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-mirror
    Copy to Clipboard Toggle word wrap

    oc-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
    Copy to Clipboard Toggle word wrap

  2. 次のコマンドを実行して、作業ディレクトリー内の cluster-resources ディレクトリーで IDMS、ITMS、CatalogSource、および ClusterCatalog リソースを確認します。

    $ ls <v2_workspace>/working-dir/cluster-resources/
    Copy to Clipboard Toggle word wrap
  3. 移行が完了したら、ミラーリングしたイメージとカタログが利用可能であることを確認します。

    • ミラーリング中にエラーや警告が発生していないことを確認します。
    • エラーファイルが生成されていないことを確認します (working-dir/logs/mirroring_errors_YYYYMMdd_HHmmss.txt)。
  4. 次のコマンドを使用して、ミラーリングしたイメージとカタログが使用可能であることを確認します。

    $ oc get catalogsource -n openshift-marketplace
    Copy to Clipboard Toggle word wrap
    $ oc get imagedigestmirrorset,imagetagmirrorset
    Copy to Clipboard Toggle word wrap

    詳細は、「oc-mirror プラグイン v2 を使用した非接続インストールのイメージのミラーリング」を参照してください。

  5. オプション: oc-mirror プラグイン v1 を使用してミラーリングしたイメージを削除します。

    1. oc-mirror プラグイン v1 を使用してイメージをミラーリングします。
    2. ImageSetConfiguration ファイル内の API バージョンを v1alpha2 (v1) から v2alpha1 (v2) に更新し、次のコマンドを実行します。

      $ oc-mirror -c isc.yaml file://some-dir --v2
      Copy to Clipboard Toggle word wrap
      注記

      storageConfig は、ImageSetConfiguration および DeleteImageSetConfiguration ファイル内の有効なフィールドではありません。oc-mirror プラグイン v2 に更新する場合は、このフィールドを削除します。

    3. 次のコマンドを実行して、削除マニフェストを生成し、v1 イメージを削除します。

      $ oc-mirror delete --config=delete-isc.yaml --generate --delete-v1-images --workspace file://some-dir docker://registry.example:5000  --v2
      Copy to Clipboard Toggle word wrap
      重要

      oc-mirror プラグイン v2 は、oc-mirror プラグイン v1 とは異なり、宛先レジストリーを自動的に削除しません。不要になったイメージをクリーンアップするには、--delete-v1-images コマンドフラグを使用して v2 の削除機能を使用してください。

      oc-mirror プラグイン v1 でミラーリングしたイメージをすべて削除したら、このフラグを使用する必要はなくなります。oc-mirror プラグイン v2 でミラーリングしたイメージを削除する必要がある場合は、--delete-v1-images を設定しないでください。

      イメージの削除の詳細は、「非接続環境からのイメージの削除」を参照してください。

    4. 次のコマンドを実行して、生成されたマニフェストに基づいてイメージを削除します。

      $ oc-mirror delete --delete-yaml-file some-dir/working-dir/delete/delete-images.yaml docker://registry.example:5000 --v2
      Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat