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
$ oc-mirror --config isc.yaml file://<directory_name> --v2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ディスクからミラーへのミラーリングの場合は、次のコマンドを実行します。
oc-mirror --config isc.yaml --from file://<directory_name> docker://<remote_registry> --v2
$ oc-mirror --config isc.yaml --from file://<directory_name> docker://<remote_registry> --v2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ミラーからミラーへのミラーリングの場合は、次のコマンドを実行します。
oc-mirror --config isc.yaml --workspace file://<directory_name> docker://<remote_registry> --v2
$ oc-mirror --config isc.yaml --workspace file://<directory_name> docker://<remote_registry> --v2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記ミラー間の操作には
--workspace
が必須になりました。
-
API バージョンの更新:
ImageSetConfiguration
の API バージョンがv1alpha2
(v1) からv2alpha1
(v2) に変更されます。移行前に設定ファイルを手動で更新する必要があります。 設定の変更:
-
oc-mirror プラグイン v2 では
storageConfig
を削除する必要があります。 - 増分ミラーリングが、作業ディレクトリーまたはローカルキャッシュを通じて自動的に処理されるようになりました。
-
oc-mirror プラグイン v2 では
結果ディレクトリーの変更: 非接続クラスターに適用されるすべてのカスタムリソースが、移行後に
<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 用の新しいディレクトリーを使用します。
-
oc-mirror プラグイン v1 の
ImageContentSourcePolicy
(ICSP) リソースと IDMS/ITMS の置き換え:重要すべての
ImageContentSourcePolicy
(ICSP) リソースを削除すると、oc-mirror に関係のない設定が削除される可能性があります。意図しない削除を回避するために、oc-mirror によって生成された ICSP リソースを、削除する前に特定してください。不明な場合は、クラスター管理者に確認してください。詳細は、「oc-mirror プラグイン v2 を使用した非接続インストールのイメージのミラーリング」を参照してください。
-
oc-mirror プラグイン v2 では、ICSP リソースは
ImageDigestMirrorSet
(IDMS) およびImageTagMirrorSet
(ITMS) リソースに置き換えられます。
-
oc-mirror プラグイン v2 では、ICSP リソースは
3.4.2. oc-mirror プラグイン v2 への移行 リンクのコピーリンクがクリップボードにコピーされました!
oc-mirror プラグイン v1 から v2 に移行するには、ImageSetConfiguration
ファイルを手動で更新し、ミラーリングコマンドを変更し、v1 アーティファクトをクリーンアップする必要があります。移行を完了するには、次の手順に従ってください。
手順
API バージョンを変更し、
ImageSetConfiguration
内の非推奨のフィールドを削除します。oc-mirror プラグイン v1 設定の
ImageSetConfiguration
ファイルの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc-mirror プラグイン v2 設定の
ImageSetConfiguration
ファイルの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、作業ディレクトリー内の
cluster-resources
ディレクトリーで IDMS、ITMS、CatalogSource
、およびClusterCatalog
リソースを確認します。ls <v2_workspace>/working-dir/cluster-resources/
$ ls <v2_workspace>/working-dir/cluster-resources/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 移行が完了したら、ミラーリングしたイメージとカタログが利用可能であることを確認します。
- ミラーリング中にエラーや警告が発生していないことを確認します。
-
エラーファイルが生成されていないことを確認します (
working-dir/logs/mirroring_errors_YYYYMMdd_HHmmss.txt
)。
次のコマンドを使用して、ミラーリングしたイメージとカタログが使用可能であることを確認します。
oc get catalogsource -n openshift-marketplace
$ oc get catalogsource -n openshift-marketplace
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get imagedigestmirrorset,imagetagmirrorset
$ oc get imagedigestmirrorset,imagetagmirrorset
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 詳細は、「oc-mirror プラグイン v2 を使用した非接続インストールのイメージのミラーリング」を参照してください。
オプション: oc-mirror プラグイン v1 を使用してミラーリングしたイメージを削除します。
- oc-mirror プラグイン v1 を使用してイメージをミラーリングします。
ImageSetConfiguration
ファイル内の API バージョンをv1alpha2
(v1) からv2alpha1
(v2) に更新し、次のコマンドを実行します。oc-mirror -c isc.yaml file://some-dir --v2
$ oc-mirror -c isc.yaml file://some-dir --v2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記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 delete --config=delete-isc.yaml --generate --delete-v1-images --workspace file://some-dir docker://registry.example:5000 --v2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要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
$ oc-mirror delete --delete-yaml-file some-dir/working-dir/delete/delete-images.yaml docker://registry.example:5000 --v2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow