This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.3.4. oc-mirror プラグインを使用した非接続インストールのイメージのミラーリング
プライベートレジストリー内の OpenShift Container Platform コンテナーイメージのミラーリングされたセットからクラスターをインストールすることにより、インターネットに直接接続せずに制限されたネットワークでクラスターを実行することができます。このレジストリーは、クラスターが実行されている限り、常に実行されている必要があります。詳細は、前提条件 セクションを参照してください。
				oc-mirror OpenShift CLI (oc) プラグインを使用して、完全なまたは部分的な非接続環境でイメージをミラーレジストリーにミラーリングできます。公式の Red Hat レジストリーから必要なイメージをダウンロードするには、インターネット接続のあるシステムから oc-mirror を実行する必要があります。
			
次の手順は、oc-mirror プラグインを使用してイメージをミラーレジストリーにミラーリングする方法の概要を示しています。
- イメージセット設定ファイルを作成します。
 以下のいずれかの方法を使用して、イメージセットをミラーレジストリーにミラーリングします。
- イメージセットをミラーレジストリーに直接ミラーリングします。
 - イメージセットをディスクにミラーリングし、イメージセットをターゲット環境に転送してから、イメージセットをターゲットミラーレジストリーにアップロードします。
 
- oc-mirror プラグインが生成したリソースを使用するようにクラスターを設定します。
 - これらの手順を繰り返して、必要に応じてミラーレジストリーを更新します。
 
3.4.1. oc-mirror プラグインについて リンクのコピーリンクがクリップボードにコピーされました!
					oc-mirror OpenShift CLI(oc) プラグインを使用すると、単一のツールを使用して、必要なすべての OpenShift Container Platform コンテンツおよびその他のイメージをミラーレジストリーにミラーリングできます。次の機能を提供します。
				
- OpenShift Container Platform のリリース、Operator、ヘルムチャート、およびその他のイメージをミラーリングするための一元化された方法を提供します。
 - OpenShift Container Platform および Operator の更新パスを維持します。
 - 宣言型イメージセット設定ファイルを使用して、クラスターに必要な OpenShift Container Platform リリース、Operator、およびイメージのみを含めます。
 - 将来のイメージセットのサイズを縮小するインクリメンタルミラーリングを実行します。
 - 前回の実行以降にイメージセット設定から除外されたターゲットミラーレジストリーからのイメージをプルーニングします。
 - オプションで、OpenShift Update Service (OSUS) を使用する際のサポートアーティファクトを生成します。
 
oc-mirror プラグインを使用する場合、イメージセット設定ファイルでミラーリングするコンテンツを指定します。この YAML ファイルでは、クラスターに必要な OpenShift Container Platform リリースと Operator のみを含めるように設定を微調整できます。これにより、ダウンロードして転送する必要のあるデータの量が減ります。oc-mirror プラグインは、任意のヘルムチャートと追加のコンテナーイメージをミラーリングして、ユーザーがワークロードをミラーレジストリーにシームレスに同期できるようにすることもできます。
oc-mirror プラグインを初めて実行すると、非接続クラスターのインストールまたは更新を実行するために必要なコンテンツがミラーレジストリーに入力されます。非接続クラスターが更新を受信し続けるには、ミラーレジストリーを更新しておく必要があります。ミラーレジストリーを更新するには、最初に実行したときと同じ設定を使用して oc-mirror プラグインを実行します。oc-mirror プラグインは、ストレージバックエンドからメタデータを参照し、ツールを最後に実行してからリリースされたもののみをダウンロードします。これにより、OpenShift Container Platform および Operator の更新パスが提供され、必要に応じて依存関係の解決が実行されます。
oc-mirror CLI プラグインを使用してミラーレジストリーにデータを入力する場合、ミラーレジストリーをさらに更新するには、oc-mirror ツールを使用する必要があります。
3.4.2. oc-mirror の互換性とサポート リンクのコピーリンクがクリップボードにコピーされました!
oc-mirror プラグインは、OpenShift Container Platform バージョン 4.9 以降の OpenShift Container Platform ペイロードイメージと Operator カタログのミラーリングをサポートします。
ミラーリングする必要がある OpenShift Container Platform のバージョンに関係なく、使用可能な最新バージョンの oc-mirror プラグインを使用してください。
OpenShift Container Platform 4.10 のテクノロジープレビューバージョンの oc-mirror プラグインを使用している場合、ミラーレジストリーを OpenShift Container Platform 4.11 に移行することはできません。新規の oc-mirror プラグインをダウンロードし、新規ストレージバックエンドを使用して、ターゲットミラーレジストリーで新しい最上位の namespace を使用する必要があります。
3.4.3. ミラーレジストリーについて リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform のインストールとその後の製品更新に必要なイメージを、Red Hat Quay などの Docker v2-2 をサポートするコンテナーミラーレジストリーにミラーリングできます。大規模なコンテナーレジストリーにアクセスできない場合は、OpenShift Container Platform サブスクリプションに含まれる小規模なコンテナーレジストリーであるRed Hat Openshift 導入用のミラーレジストリー を使用できます。
選択したレジストリーに関係なく、インターネット上の Red Hat がホストするサイトから分離されたイメージレジストリーにコンテンツをミラーリングする手順は同じです。コンテンツをミラーリングした後に、各クラスターをミラーレジストリーからこのコンテンツを取得するように設定します。
OpenShift イメージレジストリーはターゲットレジストリーとして使用できません。これは、ミラーリングプロセスで必要となるタグを使わないプッシュをサポートしないためです。
Red Hat Openshift 導入用のミラーレジストリー以外のコンテナーレジストリーを選択する場合は、プロビジョニングするクラスター内の全マシンから到達可能である必要があります。レジストリーに到達できない場合、インストール、更新、またはワークロードの再配置などの通常の操作が失敗する可能性があります。そのため、ミラーレジストリーは可用性の高い方法で実行し、ミラーレジストリーは少なくとも OpenShift Container Platform クラスターの実稼働環境の可用性の条件に一致している必要があります。
ミラーレジストリーを OpenShift Container Platform イメージで設定する場合、2 つのシナリオを実行することができます。インターネットとミラーレジストリーの両方にアクセスできるホストがあり、クラスターノードにアクセスできない場合は、そのマシンからコンテンツを直接ミラーリングできます。このプロセスは、connected mirroring (接続ミラーリング) と呼ばれます。このようなホストがない場合は、イメージをファイルシステムにミラーリングしてから、そのホストまたはリムーバブルメディアを制限された環境に配置する必要があります。このプロセスは、disconnected mirroring (非接続ミラーリング) と呼ばれます。
					ミラーリングされたレジストリーの場合は、プルされたイメージのソースを表示するには、CRI-O ログで Trying to access のログエントリーを確認する必要があります。ノードで crictl images コマンドを使用するなど、イメージのプルソースを表示する他の方法では、イメージがミラーリングされた場所からプルされている場合でも、ミラーリングされていないイメージ名を表示します。
				
Red Hat は、OpenShift Container Platform を使用してサードパーティーのレジストリーをテストしません。
3.4.4. 前提条件 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Quay など、OpenShift Container Platform クラスターをホストする場所に Docker v2-2 をサポートするコンテナーイメージレジストリーを持っている。
注記Red Hat Quay を使用する場合は、oc-mirror プラグインでバージョン 3.6 以降を使用する必要があります。Red Hat Quay のライセンスをお持ちの場合は、概念実証のため に、または Red Hat Quay Operator を使用 して Red Hat Quay をデプロイする方法を記載したドキュメントを参照してください。レジストリーの選択とインストールについてさらにサポートが必要な場合は、営業担当者または Red Hat サポートにお問い合わせください。
コンテナーイメージレジストリーの既存のソリューションがまだない場合には、OpenShift Container Platform のサブスクライバーに Red Hat Openshift 導入用のミラーレジストリー が提供されます。Red Hat Openshift 導入用のミラーレジストリーはサブスクリプションに含まれており、切断されたインストールで OpenShift Container Platform で必須のコンテナーイメージのミラーリングに使用できる小規模なコンテナーレジストリーです。
3.4.5. ミラーホストの準備 リンクのコピーリンクがクリップボードにコピーされました!
oc-mirror プラグインを使用してイメージをミラーリングする前に、プラグインをインストールし、コンテナーイメージレジストリーの認証情報ファイルを作成して、Red Hat からお使いのミラーへのミラーリングを許可する必要があります。
3.4.5.1. oc-mirror OpenShift CLI プラグインのインストール リンクのコピーリンクがクリップボードにコピーされました!
oc-mirror OpenShift CLI プラグインを使用してレジストリーイメージをミラーリングするには、プラグインをインストールする必要があります。完全な非接続環境でイメージセットをミラーリングする場合は、インターネットにアクセスできるホストと、ミラーレジストリーにアクセスできる非接続環境のホストに oc-mirror プラグインをインストールしてください。
前提条件
- 
								OpenShift CLI (
oc) がインストールされている。 
手順
oc-mirror CLI プラグインをダウンロードします。
- OpenShift Cluster Manager Hybrid Cloud Console の ダウンロード ページに移動します。
 - OpenShift 切断インストールツール セクションで、OpenShift Client (oc) ミラープラグイン の ダウンロード をクリックしてファイルを保存します。
 
アーカイブを抽出します。
tar xvzf oc-mirror.tar.gz
$ tar xvzf oc-mirror.tar.gzCopy to Clipboard Copied! Toggle word wrap Toggle overflow 必要に応じて、プラグインファイルを更新して実行可能にします。
chmod +x oc-mirror
$ chmod +x oc-mirrorCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記oc-mirrorファイルの名前を変更しないでください。ファイルを
PATHに配置して、oc-mirror CLI プラグインをインストールします (例:/usr/local/bin):。sudo mv oc-mirror /usr/local/bin/.
$ sudo mv oc-mirror /usr/local/bin/.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 
検証
oc mirror helpを実行して、プラグインが正常にインストールされたことを確認します。oc mirror help
$ oc mirror helpCopy to Clipboard Copied! Toggle word wrap Toggle overflow 
3.4.5.2. イメージのミラーリングを可能にする認証情報の設定 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat からミラーへのイメージのミラーリングを可能にするコンテナーイメージレジストリーの認証情報ファイルを作成します。
クラスターのインストール時に、このイメージレジストリー認証情報ファイルをプルシークレットとして使用しないでください。クラスターのインストール時にこのファイルを指定すると、クラスター内のすべてのマシンにミラーレジストリーへの書き込みアクセスが付与されます。
このプロセスでは、ミラーレジストリーのコンテナーイメージレジストリーへの書き込みアクセスがあり、認証情報をレジストリープルシークレットに追加する必要があります。
前提条件
- 切断された環境で使用するミラーレジストリーを設定しました。
 - イメージをミラーリングするミラーレジストリー上のイメージリポジトリーの場所を特定している。
 - イメージのイメージリポジトリーへのアップロードを許可するミラーレジストリーアカウントをプロビジョニングしている。
 
手順
インストールホストで以下の手順を実行します。
- 
								Red Hat OpenShift Cluster Manager サイトの Pull Secret ページから 
registry.redhat.ioプルシークレットをダウンロードします。 JSON 形式でプルシークレットのコピーを作成します。
cat ./pull-secret | jq . > <path>/<pull_secret_file_in_json>
$ cat ./pull-secret | jq . > <path>/<pull_secret_file_in_json>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
 - プルシークレットを保存するフォルダーへのパスおよび作成する JSON ファイルの名前を指定します。
 
ファイルの内容は以下の例のようになります。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 
								ファイルを 
~/.docker/config.jsonまたは$XDG_RUNTIME_DIR/containers/auth.jsonとして保存します。 ミラーレジストリーの base64 でエンコードされたユーザー名およびパスワードまたはトークンを生成します。
echo -n '<user_name>:<password>' | base64 -w0
$ echo -n '<user_name>:<password>' | base64 -w01 BGVtbYk3ZHAtqXs=Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
 <user_name>および<password>については、レジストリーに設定したユーザー名およびパスワードを指定します。
JSON ファイルを編集し、レジストリーについて記述するセクションをこれに追加します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ファイルは以下の例のようになります。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 
3.4.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 example.com/mirror/oc-mirror-metadata > imageset-config.yaml
$ oc mirror init --registry example.com/mirror/oc-mirror-metadata > imageset-config.yaml1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
 example.com/mirror/oc-mirror-metadataをストレージバックエンドのレジストリーの場所に置き換えます。
ファイルを編集し、必要に応じて設定を調整します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
 archiveSizeを追加して、イメージセット内の各ファイルの最大サイズを GiB 単位で設定します。- 2
 - イメージセットのメタデータを保存するバックエンドの場所を設定します。この場所は、レジストリーまたはローカルディレクトリーにすることができます。
storageConfig値を指定する必要があります。 - 3
 - ストレージバックエンドのレジストリー URL を設定します。
 - 4
 - OpenShift Container Platform イメージを取得するためのチャネルを設定します。
 - 5
 graph: trueを追加して、グラフデータイメージをビルドし、ミラーレジストリーにプッシュします。OpenShift Update Service (OSUS) を作成するには、graph-data イメージが必要です。graph: trueフィールドはUpdateServiceカスタムリソースマニフェストも生成します。ocコマンドラインインターフェイス (CLI) は、UpdateServiceカスタムリソースマニフェストを使用して OSUS を作成できます。詳細については、OpenShift Update Service について を参照してください。- 6
 - OpenShift Container Platform イメージを取得するための Operator カタログを設定します。
 - 7
 - イメージセットに含める特定の Operator パッケージのみを指定します。カタログ内のすべてのパッケージを取得するには、このフィールドを削除してください。
 - 8
 - イメージセットに含める Operator パッケージの特定のチャネルのみを指定します。そのチャネルでバンドルを使用しない場合も、常に Operator パッケージのデフォルトチャネルを含める必要があります。コマンド
oc mirror list operators --catalog=<catalog_name> --package=<package_name>を実行すると、デフォルトチャネルを見つけることができます。 - 9
 - イメージセットに含める追加のイメージを指定します。
 
パラメーターの完全なリストについては、イメージセットの設定パラメーター を参照してください。また、さまざまなミラーリングのユースケースについては、イメージセットの設定例 を参照してください。
更新したファイルを保存します。
このイメージセット設定ファイルは、コンテンツをミラーリングするときに
oc mirrorコマンドで必要になります。
3.4.7. イメージセットをミラーレジストリーにミラーリングする リンクのコピーリンクがクリップボードにコピーされました!
oc-mirror CLI プラグインを使用して、部分的な非接続環境 または 完全な非接続環境 でイメージをミラーレジストリーにミラーリングできます。
これらの手順は、ミラーレジストリーがすでに設定されていることを前提としています。
3.4.7.1. 部分的な非接続環境でのイメージセットのミラーリング リンクのコピーリンクがクリップボードにコピーされました!
部分的な非接続環境では、イメージセットをターゲットミラーレジストリーに直接ミラーリングできます。
3.4.7.1.1. ミラーからミラーへのミラーリング リンクのコピーリンクがクリップボードにコピーされました!
oc-mirror プラグインを使用して、イメージセットの作成中にアクセス可能なターゲットミラーレジストリーにイメージセットを直接ミラーリングできます。
イメージセット設定ファイルでストレージバックエンドを指定する必要があります。このストレージバックエンドは、ローカルディレクトリーまたは Dockerv2 レジストリーにすることができます。oc-mirror プラグインは、イメージセットの作成中にこのストレージバックエンドにメタデータを保存します。
oc-mirror プラグインによって生成されたメタデータを削除または変更しないでください。同じミラーレジストリーに対して oc-mirror プラグインを実行するたびに、同じストレージバックエンドを使用する必要があります。
前提条件
- 必要なコンテナーイメージを取得するためのインターネットへのアクセスがある。
 - 
									OpenShift CLI (
oc) がインストールされている。 - 
									
oc-mirrorCLI プラグインをインストールしている。 - イメージセット設定ファイルを作成している。
 
手順
oc mirrorコマンドを実行して、指定されたイメージセット設定から指定されたレジストリーにイメージをミラーリングします。oc mirror --config=./imageset-config.yaml \ docker://registry.example:5000
$ oc mirror --config=./imageset-config.yaml \1 docker://registry.example:50002 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 
検証
- 
									生成された 
oc-mirror-workspace/ディレクトリーに移動します。 - 
									results ディレクトリーに移動します (例: 
results-1639608409/。 - 
									
ImageContentSourcePolicyおよびCatalogSourceリソースに YAML ファイルが存在することを確認します。 
次のステップ
- oc-mirror が生成したリソースを使用するようにクラスターを設定します。
 
トラブルシューティング
3.4.7.2. 完全な非接続環境でのイメージセットのミラーリング リンクのコピーリンクがクリップボードにコピーされました!
完全な非接続環境でイメージセットをミラーリングするには、最初に イメージセットをディスクにミラーリング してから、ディスク上のイメージセットファイルをミラーにミラーリング する必要があります。
3.4.7.2.1. ミラーからディスクへのミラーリング リンクのコピーリンクがクリップボードにコピーされました!
oc-mirror プラグインを使用して、イメージセットを生成し、コンテンツをディスクに保存できます。生成されたイメージセットは、非接続環境に転送され、ターゲットレジストリーにミラーリングされます。
イメージセット設定ファイルで指定されている設定によっては、oc-mirror を使用してイメージをミラーリングすると、数百ギガバイトのデータがディスクにダウンロードされる場合があります。
多くの場合、ミラーレジストリーにデータを入力するときの最初のイメージセットのダウンロードが、最も大きなものとなります。最後にコマンドを実行した後に変更されたイメージのみをダウンロードするため、oc-mirror プラグインを再度実行すると、生成されるイメージセットは小さいことが多いです。
イメージセット設定ファイルでストレージバックエンドを指定する必要があります。このストレージバックエンドは、ローカルディレクトリーまたは docker v2 レジストリーにすることができます。oc-mirror プラグインは、イメージセットの作成中にこのストレージバックエンドにメタデータを保存します。
oc-mirror プラグインによって生成されたメタデータを削除または変更しないでください。同じミラーレジストリーに対して oc-mirror プラグインを実行するたびに、同じストレージバックエンドを使用する必要があります。
前提条件
- 必要なコンテナーイメージを取得するためのインターネットへのアクセスがある。
 - 
									OpenShift CLI (
oc) がインストールされている。 - 
									
oc-mirrorCLI プラグインをインストールしている。 - イメージセット設定ファイルを作成している。
 
手順
oc mirrorコマンドを実行して、指定されたイメージセット設定からディスクにイメージをミラーリングします。oc mirror --config=./imageset-config.yaml \ file://<path_to_output_directory>
$ oc mirror --config=./imageset-config.yaml \1 file://<path_to_output_directory>2 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 
検証
出力ディレクトリーに移動します。
cd <path_to_output_directory>
$ cd <path_to_output_directory>Copy to Clipboard Copied! Toggle word wrap Toggle overflow イメージセットの
.tarファイルが作成されたことを確認します。ls
$ lsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
mirror_seq1_000000.tar
mirror_seq1_000000.tarCopy to Clipboard Copied! Toggle word wrap Toggle overflow 
次のステップ
- イメージセットの.tar ファイルを非接続環境に転送します。
 
トラブルシューティング
3.4.7.2.2. ディスクからミラーへのミラーリング リンクのコピーリンクがクリップボードにコピーされました!
oc-mirror プラグインを使用して、生成されたイメージセットの内容をターゲットミラーレジストリーにミラーリングできます。
前提条件
- 
									非接続環境に OpenShift CLI (
oc) をインストールしている。 - 
									非接続環境に 
oc-mirrorCLI プラグインをインストールしている。 - 
									
ocmirrorコマンドを使用してイメージセットファイルを生成している。 - イメージセットファイルを非接続環境に転送しました。
 
手順
oc mirrorコマンドを実行して、ディスク上のイメージセットファイルを処理し、その内容をターゲットミラーレジストリーにミラーリングします。oc mirror --from=./mirror_seq1_000000.tar \ docker://registry.example:5000
$ oc mirror --from=./mirror_seq1_000000.tar \1 docker://registry.example:50002 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
 - この例では、
mirror_seq1_000000.tarという名前のイメージセット.tar ファイルをミラーに渡します。イメージセット設定ファイルでarchiveSize値が指定されている場合、イメージセットは複数の.tar ファイルに分割される可能性があります。この状況では、イメージセットの.tar ファイルを含むディレクトリーを渡すことができます。 - 2
 - イメージセットファイルをミラーリングするレジストリーを指定します。レジストリーは
docker://で始まる必要があります。ミラーレジストリーに最上位の namespace を指定する場合は、これ以降の実行でもこれと同じ namespace を使用する必要があります。 
このコマンドは、ミラーレジストリーをイメージセットで更新し、
ImageContentSourcePolicyおよびCatalogSourceリソースを生成します。
検証
- 
									生成された 
oc-mirror-workspace/ディレクトリーに移動します。 - 
									results ディレクトリーに移動します (例: 
results-1639608409/。 - 
									
ImageContentSourcePolicyおよびCatalogSourceリソースに YAML ファイルが存在することを確認します。 
次のステップ
- oc-mirror が生成したリソースを使用するようにクラスターを設定します。
 
トラブルシューティング
3.4.8. oc-mirror が生成したリソースを使用するためのクラスター設定 リンクのコピーリンクがクリップボードにコピーされました!
					イメージセットをミラーレジストリーにミラーリングした後に、生成された ImageContentSourcePolicy、CatalogSource、およびリリースイメージの署名リソースをクラスターに適用する必要があります。
				
					ImageContentSourcePolicy リソースは、ミラーレジストリーをソースレジストリーに関連付け、イメージプル要求をオンラインレジストリーからミラーレジストリーにリダイレクトします。CatalogSource リソースは、Operator Lifecycle Manager (OLM) によって使用され、ミラーレジストリーで使用可能な Operator に関する情報を取得します。リリースイメージの署名は、ミラーリングされたリリースイメージの検証に使用されます。
				
前提条件
- 非接続環境で、イメージセットをレジストリーミラーにミラーリングしました。
 - 
							
cluster-adminロールを持つユーザーとしてクラスターにアクセスできる。 
手順
- 
							
cluster-adminロールを持つユーザーとして OpenShift CLI にログインします。 以下のコマンドを実行して、results ディレクトリーからクラスターに YAML ファイルを適用します。
oc apply -f ./oc-mirror-workspace/results-1639608409/
$ oc apply -f ./oc-mirror-workspace/results-1639608409/Copy to Clipboard Copied! Toggle word wrap Toggle overflow リリースイメージをミラーリングした場合は、次のコマンドを実行して、リリースイメージの署名をクラスターに適用します。
oc apply -f ./oc-mirror-workspace/results-1639608409/release-signatures/
$ oc apply -f ./oc-mirror-workspace/results-1639608409/release-signatures/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記クラスターではなく Operator をミラーリングしている場合、
$ oc apply -f ./oc-mirror-workspace/results-1639608409/release-signatures/を実行する必要はありません。適用するリリースイメージ署名がないため、このコマンドを実行するとエラーが返されます。
検証
以下のコマンドを実行して、
ImageContentSourcePolicyリソースが正常にインストールされたことを確認します。oc get imagecontentsourcepolicy --all-namespaces
$ oc get imagecontentsourcepolicy --all-namespacesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して、
CatalogSourceリソースが正常にインストールされたことを確認します。oc get catalogsource --all-namespaces
$ oc get catalogsource --all-namespacesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 
3.4.9. ミラーレジストリーのコンテンツを最新の状態に保つ リンクのコピーリンクがクリップボードにコピーされました!
ターゲットミラーレジストリーに初期イメージセットが設定された後は、定期的に更新して、最新の内容になるようにしてください。可能であれば、必要に応じて cron ジョブを設定して、ミラーレジストリーが定期的に更新されるようにすることもできます。
イメージセットの設定を更新して、必要に応じて OpenShift Container Platform および Operator リリースを追加または削除してください。削除されるすべてのイメージは、ミラーレジストリーからプルーニングされます。
3.4.9.1. ミラーレジストリーコンテンツの更新について リンクのコピーリンクがクリップボードにコピーされました!
oc-mirror プラグインを再度実行すると、前回の実行以降に新しく更新されたイメージのみを含むイメージセットが生成されます。前に作成されたイメージセットとの違いのみを取り込むため、生成されたイメージセットは、多くの場合、最初のイメージセットよりも小さく、迅速に処理されます。
生成されたイメージセットはシーケンシャルであり、ターゲットミラーレジストリーに順番にプッシュする必要があります。シーケンス番号は、生成されたイメージセットアーカイブファイルのファイル名から取得できます。
新規イメージおよび更新されたイメージの追加
イメージセット設定の設定に応じて、oc-mirror を今後実行すると、追加の新しいイメージと更新されたイメージがミラーリングされます。イメージセット設定の設定を確認して、必要に応じて新しいバージョンを取得していることを確認します。たとえば、特定のバージョンに制限する場合は、Operator の最小バージョンと最大バージョンをミラーリングするように設定できます。または、最小バージョンをミラーリングの開始点として設定することもできますが、バージョン範囲は開いたままにして、oc-mirror の今後の実行時に新しい Operator バージョンを受け取り続けることができます。最小または最大バージョンを省略すると、チャネル内の Operator の完全なバージョン履歴が得られます。明示的に名前付けされたチャネルを省略すると、指定された Operator のすべてのチャネルのすべてのリリースが提供されます。名前付き Operator を省略すると、これまでにリリースされたすべての Operator とそのすべてのバージョンのカタログ全体が提供されます。
これらすべての制約と条件は、oc-mirror が呼び出されるたびに Red Hat によって公開されたコンテンツに対して評価されます。このようにして、新しいリリースとまったく新しい Operator を自動的にピックアップします。制約は、必要な Operator のセットをリストするだけで指定できます。これにより、新しくリリースされた他の Operator がミラーセットに自動的に追加されることはありません。特定のリリースチャネルを指定することもできます。これにより、ミラーリングは追加された新しいチャネルではなく、このチャネルのみに制限されます。これは、マイナーリリースに異なるリリースチャネルを使用する Red Hat Quay などの Operator 製品にとって重要です。最後に、特定の Operator の最大バージョンを指定できます。これにより、ツールは指定されたバージョン範囲のみをミラーリングするため、ミラーリングされた最大バージョンを超えた新しいリリースが自動的に取得されることはありません。これらのすべての場合において、イメージセット設定ファイルを更新して Operator のミラーリングの範囲を広げ、他の Operator、新しいチャネル、および Operator の新しいバージョンをターゲットレジストリーで使用できるようにする必要があります。
						チャネル仕様やバージョン範囲などの制約を、特定の Operator が選択したリリースストラテジーに合わせることを推奨します。たとえば、Operator が stable チャネルを使用している場合、ミラーリングをそのチャネルと可能ならば最小バージョンに制限し、ダウンロード量と定期的な安定した更新の取得との間の適切なバランスを見つける必要があります。Operator がリリースバージョンのチャネルスキーム (stable-3.7 など) を選択した場合、そのチャネルのすべてのリリースをミラーリングする必要があります。これにより、Operator のパッチバージョン (3.7.1 など) を引き続き受け取ることができます。また、イメージセットの設定を定期的に調整して、新製品リリース (stable-3.8 など) 用のチャネルを追加することもできます。
					
イメージのプルーニング
イメージは、生成およびミラーリングされた最新のイメージセットに含まれなくなった場合、ターゲットミラーレジストリーから自動的にプルーニングされます。これにより、不要なコンテンツを簡単に管理およびクリーンアップし、ストレージリソースを解放することができます。
不要になった OpenShift Container Platform リリースまたは Operator バージョンがある場合、イメージセットの設定を変更してそれらを除外できます。これらはミラーリング時にミラーレジストリーからプルーニングされます。これは、イメージセット設定ファイルで Operator ごとに最小または最大バージョン範囲の設定を調整するか、カタログからミラーリングする Operator のリストから Operator を削除することによって実行できます。Operator カタログ全体または OpenShift Container Platform リリース全体を設定ファイルから削除することもできます。
ミラーリングする新しいイメージまたは更新されたイメージがない場合、除外されたイメージはターゲットミラーレジストリーからプルーニングされません。さらに、Operator パブリッシャーがチャネルから Operator バージョンを削除すると、削除されたバージョンはターゲットミラーレジストリーからプルーニングされます。
3.4.9.2. ミラーレジストリーコンテンツの更新 リンクのコピーリンクがクリップボードにコピーされました!
初期イメージセットをミラーレジストリーに公開した後、oc-mirror プラグインを使用して、切断されたクラスターを最新の状態に保つことができます。
イメージセットの設定に応じて、oc-mirror は、初期ミラーリングの完了後にリリースされた OpenShift Container Platform および選択した Operator の新しいリリースを自動的に検出します。たとえば、毎晩の cron ジョブなどで、定期的に oc-mirror を実行し、製品とセキュリティーの更新をタイムリーに受信することを推奨します。
前提条件
- oc-mirror プラグインを使用して、最初のイメージセットをミラーレジストリーにミラーリングしている。
 oc-mirror プラグインの最初の実行に使用されたストレージバックエンドにアクセスできる。
注記同じミラーレジストリーに対して oc-mirror の最初の実行と同じストレージバックエンドを使用する必要があります。oc-mirror プラグインによって生成されたメタデータイメージを削除または変更しないでください。
手順
- 必要に応じて、イメージセット設定ファイルを更新して、新しい OpenShift Container Platform および Operator バージョンを取得します。ミラーリングの使用例については、イメージセットの設定例 を参照してください。
 初期イメージセットをミラーレジストリーにミラーリングしたときと同じ手順に従います。手順については、部分的な非接続環境でのイメージセットのミラーリング または 完全な非接続環境でのイメージセットのミラーリング を参照してください。
重要- 差分イメージセットのみが作成およびミラーリングされるように、同じストレージバックエンドを提供する必要があります。
 - イメージセットの最初の作成時にミラーレジストリーにトップレベルの namespace を指定した場合は、同じミラーレジストリーに対して oc-mirror プラグインを実行するたびに、この同じ namespace を使用する必要があります。
 
- oc-mirror が生成したリソースを使用するようにクラスターを設定します。
 
3.4.10. ドライランの実行 リンクのコピーリンクがクリップボードにコピーされました!
実際にイメージをミラーリングせずに、oc-mirror を使用してドライランを実行できます。これにより、ミラーリングされるイメージのリストと、ミラーレジストリーからプルーニングされるイメージを確認できます。また、イメージセット設定のエラーを早期に検出したり、生成されたイメージのリストを他のツールで使用してミラーリング操作を実行したりすることもできます。
前提条件
- 必要なコンテナーイメージを取得するためのインターネットへのアクセスがある。
 - 
							OpenShift CLI (
oc) がインストールされている。 - 
							
oc-mirrorCLI プラグインをインストールしている。 - イメージセット設定ファイルを作成している。
 
手順
--dry-runフラグを指定してoc mirrorコマンドを実行し、ドライランを実行します。oc mirror --config=./imageset-config.yaml \ docker://registry.example:5000 \ --dry-run
$ oc mirror --config=./imageset-config.yaml \1 docker://registry.example:5000 \2 --dry-run3 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 生成されたワークスペースディレクトリーに移動します。
cd oc-mirror-workspace/
$ cd oc-mirror-workspace/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 生成された
mapping.txtファイルを確認します。このファイルには、ミラーリングされるすべてのイメージのリストが含まれています。
生成された
pruning-plan.jsonファイルを確認します。このファイルには、イメージセットの公開時にミラーレジストリーからプルーニングされるすべてのイメージのリストが含まれています。
注記pruning-plan.jsonファイルは、oc-mirror コマンドがミラーレジストリーを指し、プルーニングするイメージがある場合にのみ生成されます。
3.4.11. Image set configuration parameters リンクのコピーリンクがクリップボードにコピーされました!
					oc-mirror プラグインには、ミラーリングするイメージを定義するイメージセット設定ファイルが必要です。次の表に、ImageSetConfiguration リソースで使用可能なパラメーターを示します。
				
| パラメーター | 説明 | 値 | 
|---|---|---|
|   
									  |   
									  |   
									文字列。例:   | 
|   
									  |   イメージセット内の各アーカイブファイルの最大サイズ (GiB 単位)。  |   
									integer例:   | 
|   
									  |   イメージセットの設定。  |   オブジェクト  | 
|   
									  |   イメージセットの追加のイメージ設定。  |   オブジェクトの配列。以下に例を示します。 additionalImages: - name: registry.redhat.io/ubi8/ubi:latest 
 | 
|   
									  |   ミラーリングするイメージのタグまたはダイジェスト。  |   
									文字列。例:   | 
|   
									  |   ミラーリングからブロックするイメージの完全なタグ、ダイジェスト、またはパターン。  |   
									文字列の配列例:   | 
|   
									  |   イメージセットのヘルム設定。oc-mirror プラグインは、レンダリング時にユーザー入力を必要としないヘルムチャートのみをサポートすることに注意してください。  |   オブジェクト  | 
|   
									  |   ミラーリングするローカルヘルムチャート。  |   オブジェクトの配列。以下に例を示します。 local:
  - name: podinfo
    path: /test/podinfo-5.0.0.tar.gz
 | 
|   
									  |   ミラーリングするローカルヘルムチャートの名前。  |   
									文字列。例:   | 
|   
									  |   ミラーリングするローカルヘルムチャートのパス。  |   
									文字列。例:   | 
|   
									  |   ミラーリング元のリモートヘルムリポジトリー。  |   オブジェクトの配列。以下に例を示します。  | 
|   
									  |   ミラーリング元のヘルムリポジトリーの名前。  |   
									文字列。例:   | 
|   
									  |   ミラーリング元の helm リポジトリーの URL。  |   
									文字列。例:   | 
|   
									  |   ミラーリングするリモートヘルムチャート。  |   オブジェクトの配列。  | 
|   
									  |   ミラーリングするヘルムチャートの名前。  |   
									文字列。例:   | 
|   
									  |   ミラーリングする名前付きヘルムチャートのバージョン。  |   
									文字列。例:   | 
|   
									  |   イメージセットの Operators 設定。  |   オブジェクトの配列。以下に例を示します。 operators:
  - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.11
    packages:
      - name: elasticsearch-operator
        minVersion: '2.4.0'
 | 
|   
									  |   イメージセットに含める Operator カタログ。  |   
									文字列。例:   | 
|   
									  |   
									  |   
									ブール値。デフォルト値は   | 
|   
									  |   Operator パッケージ設定  |   オブジェクトの配列。以下に例を示します。 operators:
  - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.11
    packages:
      - name: elasticsearch-operator
        minVersion: '5.2.3-31'
 | 
|   
									  |   イメージセットに含める Operator パッケージ名  |   
									文字列。例:   | 
|   
									  |   Operator パッケージのチャネル設定。  |   オブジェクト  | 
|   
									  |   イメージセットに含める、パッケージ内で一意の Operator チャネル名。  |   
									文字列。例:  | 
|   
									  |   Operator が存在するすべてのチャネルでミラーリングする最上位バージョンの Operator。  |   
									文字列。例:   | 
|   
									  |   含める最小バンドルの名前と、チャネルヘッドへのアップグレードグラフ内のすべてのバンドル。名前付きバンドルにセマンティックバージョンメタデータがない場合にのみ、このフィールドを設定します。  |   
									文字列。例:   | 
|   
									  |   存在するすべてのチャネル間でミラーリングする Operator の最低バージョン。  |   
									文字列。例:   | 
|   
									  |   Operator が存在するすべてのチャネルでミラーリングする最上位バージョンの Operator。  |   
									文字列。例:   | 
|   
									  |   存在するすべてのチャネル間でミラーリングする Operator の最低バージョン。  |   
									文字列。例:   | 
|   
									  |   
									  |   
									ブール値。デフォルト値は   | 
|   
									  |   参照カタログをミラーリングするためのオプションの代替名。  |   
									文字列。例:   | 
|   
									  |   
									  |   
									文字列。例:   | 
|   
									  |   イメージセットのプラットフォーム設定。  |   オブジェクト  | 
|   
									  |   ミラーリングするプラットフォームリリースペイロードのアーキテクチャー。  |   文字列の配列以下に例を示します。 architectures: - amd64 - arm64 
 | 
|   
									  |   イメージセットのプラットフォームチャネル設定。  |   オブジェクトの配列。以下に例を示します。 channels: - name: stable-4.10 - name: stable-4.11 
 | 
|   
									  |   
									  |   
									ブール値。デフォルト値は   | 
|   
									  |   リリースチャネルの名前。  |   
									文字列。例:   | 
|   
									  |   ミラーリングされる参照プラットフォームの最小バージョン。  |   
									文字列。例:   | 
|   
									  |   ミラーリングされる参照プラットフォームの最上位バージョン。  |   
									文字列。例:   | 
|   
									  |   最短パスミラーリングまたはフルレンジミラーリングを切り替えます。  |   
									ブール値。デフォルト値は   | 
|   
									  |   ミラーリングするプラットフォームのタイプ。  |   
									文字列。例:   | 
|   
									  |   OSUS グラフがイメージセットに追加され、その後ミラーに公開されるかどうかを示します。  |   
									ブール値。デフォルト値は   | 
|   
									  |   イメージセットのバックエンド設定。  |   オブジェクト  | 
|   
									  |   イメージセットのローカルバックエンド設定。  |   オブジェクト  | 
|   
									  |   イメージセットのメタデータを含むディレクトリーのパス。  |   
									文字列。例:   | 
|   
									  |   イメージセットのレジストリーバックエンド設定。  |   オブジェクト  | 
|   
									  |   バックエンドレジストリー URI。オプションで、URI に namespace 参照を含めることができます。  |   
									文字列。例:   | 
|   
									  |   オプションで、参照されるバックエンドレジストリーの TLS 検証をスキップします。  |   
									ブール値。デフォルト値は   | 
3.4.12. Image set configuration examples リンクのコピーリンクがクリップボードにコピーされました!
					次の ImageSetConfiguration ファイルの例は、さまざまなミラーリングのユースケースの設定を示しています。
				
ユースケース: 任意のイメージとヘルムチャートを含む
					次の ImageSetConfiguration ファイルは、レジストリーストレージバックエンドを使用し、これにはヘルムチャートと追加の Red Hat Universal Base Image (UBI) が含まれています。
				
ImageSetConfigurationファイルの例
ユースケース: 最小から最新までの Operator バージョンを含める
					次のImageSetConfigurationファイルは、ローカルストレージバックエンドを使用し、これには、latest チャネルの Kubernetes Operator 用の Red Hat Advanced Cluster Security (3.68.0 以降のバージョン) のみが含まれています。
				
ImageSetConfigurationファイルの例
ユースケース: 最短の OpenShift Container Platform アップグレードパスを含める
					以下の ImageSetConfiguration ファイルは、ローカルストレージバックエンドを使用し、最小バージョン 4.9.37 から最大バージョン 4.10.22 への最短アップグレードパスに沿ってすべての OpenShift Container Platform バージョンを含めます。
				
ImageSetConfigurationファイルの例
ユースケース: OpenShift Container Platform の最小バージョンから最新バージョンまでのすべてのバージョンを含める
					以下の ImageSetConfiguration ファイルは、レジストリーストレージバックエンドを使用し、最小バージョン 4.10.10 からチャネルの最新バージョンまでのすべての OpenShift Container Platform バージョンを含みます。
				
					このイメージセット設定で oc-mirror を呼び出すたびに、stable-4.10 チャネルの最新リリースが評価されるため、定期的に oc-mirror を実行すると、OpenShift Container Platform イメージの最新リリースを自動的に受け取ることができます。
				
ImageSetConfigurationファイルの例
ユースケース: 最小から最大までの Operator バージョンを含める
					次の ImageSetConfiguration ファイルは、ローカルストレージバックエンドを使用し、stable チャネルの 1.0.0 から 2.0.0 までのバージョンの Operator の例のみを含みます。
				
					これにより、特定の Operator の特定のバージョン範囲のみをミラーリングできます。時間の経過とともに、バージョン 1.0.0 がもうどこにも動作していない場合などに、これらの設定を使用して新しいリリースにバージョンを合わせることができます。このシナリオでは、minVersion を 1.5.0 などの新しいバージョンに上げることができます。更新されたバージョン範囲で oc-mirror が再度実行されると、1.5.0 より古いリリースが不要になったことを自動的に検出し、それらをレジストリーから削除してストレージスペースを節約します。
				
ImageSetConfigurationファイルの例
3.4.13. oc-mirror のコマンドリファレンス リンクのコピーリンクがクリップボードにコピーされました!
					以下の表は、oc mirror サブコマンドとフラグについて説明しています。
				
| サブコマンド | 説明 | 
|---|---|
|   
									  |   指定されたシェルのオートコンプリートスクリプトを生成します。  | 
|   
									  |   イメージセットの内容を出力します。  | 
|   
									  |   サブコマンドに関するヘルプを表示します。  | 
|   
									  |   初期イメージセット設定テンプレートを出力します。  | 
|   
									  |   利用可能なプラットフォームと Operator のコンテンツとそのバージョンを一覧表示します。  | 
|   
									  |   oc-mirror バージョンを出力します。  | 
| フラグ | 説明 | 
|---|---|
|   
									  |   イメージセット設定ファイルへのパスを指定します。  | 
|   
									  |   イメージのプルに関連しないエラーが発生した場合は、続行して、可能な限りミラーリングを試みます。  | 
|   
									  |   ターゲットレジストリーの TLS 検証を無効にします。  | 
|   
									  |   ターゲットレジストリーにはプレーン HTTP を使用します。  | 
|   
									  |   
									イメージをミラーリングせずにアクションを出力します。  | 
|   
									  |   oc-mirror の実行によって生成されたイメージセットアーカイブへのパスを指定して、ターゲットレジストリーにロードします。  | 
|   
									  |   ヘルプを表示します。  | 
|   
									  |   イメージをダウンロードしてレイヤーをパックするときに、過去のミラーリングを無視します。増分ミラーリングを無効にし、より多くのデータをダウンロードする可能性があります。  | 
|   
									  |   
									  | 
|   
									  |   
									レジストリーごとに許可される同時要求の数を指定します。デフォルト値は   | 
|   
									  |   アーティファクトディレクトリーの削除を省略します。  | 
|   
									  |   Operator カタログのイメージタグをダイジェストピンに置き換えないでください。  | 
|   
									  |   
									イメージセットの公開時にメタデータをスキップします。これは、イメージセットが   | 
|   
									  |   イメージが見つからない場合は、エラーを報告して実行を中止する代わりにスキップします。イメージセット設定で明示的に指定されたカスタムイメージには適用されません。  | 
|   
									  |   ダイジェストの検証を省略します。  | 
|   
									  |   ソースレジストリーの TLS 検証を無効にします。  | 
|   
									  |   ソースレジストリーにはプレーン HTTP を使用します。  | 
|   
									  |   
									ログレベルの詳細度の数値を指定します。有効な値は   |