3.4. oc-mirror プラグインを使用した非接続インストールのイメージのミラーリング
クラスターが、外部コンテンツに対する組織の制限条件を満たすコンテナーイメージのみを使用するようにできますネットワークが制限された環境でプロビジョニングするインフラストラクチャーにクラスターをインストールする前に、必要なコンテナーイメージをその環境にミラーリングする必要があります。コンテナーイメージをミラーリングするには、ミラーリング用のレジストリーが必要です。
oc-mirror OpenShift CLI (oc
) プラグインを使用して、完全なまたは部分的な非接続環境でイメージをミラーレジストリーにミラーリングできます。
oc-mirror プラグインを使用した非接続環境のイメージのミラーリングは、テクノロジープレビュー機能のみです。テクノロジープレビュー機能は、Red Hat の実稼働環境におけるサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
次の手順は、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、およびイメージのみを含めます。
- 将来のイメージセットのサイズを縮小するインクリメンタルミラーリングを実行します。
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. ミラーレジストリーについて
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 を使用してサードパーティーのレジストリーをテストしません。
関連情報
- CRI-O ログを表示してイメージソースを表示する方法の詳細は、Viewing the image pull source を参照してください。
3.4.3. 前提条件
Red Hat Quay など、OpenShift Container Platform クラスターをホストする場所に Docker v2-2 をサポートするコンテナーイメージレジストリーを持っている。
注記Red Hat Quay を使用する場合は、oc-mirror プラグインでバージョン 3.6 以降を使用する必要があります。Red Hat Quay のエンタイトルメントをお持ちの場合は、Red Hat Quay のデプロイに関するドキュメント 概念実証 (実稼働以外) 向けの Red Hat Quay のデプロイ または Quay Operator の使用による OpenShift への Red Hat Quay のデプロイ を参照してください。レジストリーの選択とインストールについてさらにサポートが必要な場合は、営業担当者または Red Hat サポートにお問い合わせください。
コンテナーイメージレジストリーの既存のソリューションがまだない場合には、OpenShift Container Platform のサブスクライバーに Red Hat Openshift 導入用のミラーレジストリー が提供されます。Red Hat Openshift 導入用のミラーレジストリーはサブスクリプションに含まれており、切断されたインストールで OpenShift Container Platform で必須のコンテナーイメージのミラーリングに使用できる小規模なコンテナーレジストリーです。
3.4.4. ミラーホストの準備
oc-mirror プラグインを使用してイメージをミラーリングする前に、プラグインをインストールし、コンテナーイメージレジストリーの認証情報ファイルを作成して、Red Hat からお使いのミラーへのミラーリングを許可する必要があります。
3.4.4.1. oc-mirror OpenShift CLI プラグインのインストール
oc-mirror OpenShift CLI プラグインを使用してレジストリーイメージをミラーリングするには、プラグインをインストールする必要があります。完全な非接続環境でイメージセットをミラーリングする場合は、インターネットにアクセスできるホストと、ミラーレジストリーにアクセスできる非接続環境のホストに oc-mirror プラグインをインストールしてください。
前提条件
-
OpenShift CLI (
oc
) がインストールされている。
手順
oc-mirror CLI プラグインをダウンロードします。
- OpenShift Cluster Manager の ダウンロード ページに移動します。
- OpenShift 切断インストールツール セクションで、OpenShift Client (oc) ミラープラグイン の ダウンロード をクリックしてファイルを保存します。
アーカイブを抽出します。
$ tar xvzf oc-mirror.tar.gz
必要に応じて、プラグインファイルを更新して実行可能にします。
$ chmod +x oc-mirror
注記oc-mirror
ファイルの名前を変更しないでください。ファイルを
PATH
に配置して、oc-mirror CLI プラグインをインストールします (例:/usr/local/bin
):。$ sudo mv oc-mirror /usr/local/bin/.
検証
oc mirror help
を実行して、プラグインが正常にインストールされたことを確認します。$ oc mirror help
3.4.4.2. イメージのミラーリングを可能にする認証情報の設定
Red Hat からミラーへのイメージのミラーリングを可能にするコンテナーイメージレジストリーの認証情報ファイルを作成します。
クラスターのインストール時に、このイメージレジストリー認証情報ファイルをプルシークレットとして使用しないでください。クラスターのインストール時にこのファイルを指定すると、クラスター内のすべてのマシンにミラーレジストリーへの書き込みアクセスが付与されます。
このプロセスでは、ミラーレジストリーのコンテナーイメージレジストリーへの書き込みアクセスがあり、認証情報をレジストリープルシークレットに追加する必要があります。
前提条件
- 切断された環境で使用するミラーレジストリーを設定しました。
- イメージをミラーリングするミラーレジストリー上のイメージリポジトリーの場所を特定している。
- イメージのイメージリポジトリーへのアップロードを許可するミラーレジストリーアカウントをプロビジョニングしている。
手順
インストールホストで以下の手順を実行します。
-
Red Hat OpenShift Cluster Manager サイトの Pull Secret ページから
registry.redhat.io
プルシークレットをダウンロードします。 JSON 形式でプルシークレットのコピーを作成します。
$ cat ./pull-secret | jq . > <path>/<pull_secret_file_in_json> 1
- 1
- プルシークレットを保存するフォルダーへのパスおよび作成する JSON ファイルの名前を指定します。
ファイルを
~/.docker/config.json
または$XDG_RUNTIME_DIR/containers/auth.json
として保存します。ファイルの内容は以下の例のようになります。
{ "auths": { "cloud.openshift.com": { "auth": "b3BlbnNo...", "email": "you@example.com" }, "quay.io": { "auth": "b3BlbnNo...", "email": "you@example.com" }, "registry.connect.redhat.com": { "auth": "NTE3Njg5Nj...", "email": "you@example.com" }, "registry.redhat.io": { "auth": "NTE3Njg5Nj...", "email": "you@example.com" } } }
ミラーレジストリーの base64 でエンコードされたユーザー名およびパスワードまたはトークンを生成します。
$ echo -n '<user_name>:<password>' | base64 -w0 1 BGVtbYk3ZHAtqXs=
- 1
<user_name>
および<password>
については、レジストリーに設定したユーザー名およびパスワードを指定します。
JSON ファイルを編集し、レジストリーについて記述するセクションをこれに追加します。
"auths": { "<mirror_registry>": { 1 "auth": "<credentials>", 2 "email": "you@example.com" } },
ファイルは以下の例のようになります。
{ "auths": { "registry.example.com": { "auth": "BGVtbYk3ZHAtqXs=", "email": "you@example.com" }, "cloud.openshift.com": { "auth": "b3BlbnNo...", "email": "you@example.com" }, "quay.io": { "auth": "b3BlbnNo...", "email": "you@example.com" }, "registry.connect.redhat.com": { "auth": "NTE3Njg5Nj...", "email": "you@example.com" }, "registry.redhat.io": { "auth": "NTE3Njg5Nj...", "email": "you@example.com" } } }
3.4.5. イメージセット設定の作成
oc-mirror プラグインを使用してイメージセットをミラーリングする前に、イメージセット設定ファイルを作成する必要があります。このイメージセット設定ファイルは、ミラーリングする OpenShift Container Platform リリース、Operator、およびその他のイメージと、oc-mirror プラグインの他の設定を定義します。
イメージセット設定ファイルでストレージバックエンドを指定する必要があります。このストレージバックエンドは、 Docker v2-2 をサポートするローカルディレクトリーまたはレジストリーにすることができます。oc-mirror プラグインは、イメージセットの作成中にこのストレージバックエンドにメタデータを保存します。
oc-mirror プラグインによって生成されたメタデータを削除または変更しないでください。同じミラーレジストリーに対して oc-mirror プラグインを実行するたびに、同じストレージバックエンドを使用する必要があります。
手順
必要な設定の詳細を指定する
ImageSetConfiguration
リソースを作成します。ImageSetConfiguration
ファイルの例apiVersion: mirror.openshift.io/v1alpha1 kind: ImageSetConfiguration archiveSize: 4 1 mirror: ocp: channels: - name: stable-4.9 2 operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.9 3 storageConfig: 4 registry: imageURL: example.com/example/oc-mirror 5
この例では、
registry.redhat.io/redhat/redhat-operator-index:v4.9
Operator カタログのstable-4.9
チャネルからイメージをプルし、イメージセットのメタデータをexample.com/example/oc-mirror
レジストリーに保存します。-
ファイルを
imageset-config.yaml
として保存します。このファイルは、コンテンツをミラーリングするときにoc mirror
コマンドで必要になります。
3.4.6. イメージセットをミラーレジストリーにミラーリングする
oc-mirror CLI プラグインを使用して、部分的な非接続環境 または 完全な非接続環境 でイメージをミラーレジストリーにミラーリングできます。
これらの手順は、ミラーレジストリーがすでに設定されていることを前提としています。
3.4.6.1. 部分的な非接続環境でのイメージセットのミラーリング
部分的な非接続環境では、イメージセットをターゲットミラーレジストリーに直接ミラーリングできます。
3.4.6.1.1. ミラーからミラーへのミラーリング
oc-mirror プラグインを使用して、イメージセットの作成中にアクセス可能なターゲットミラーレジストリーにイメージセットを直接ミラーリングできます。
イメージセット設定ファイルで指定されている設定によっては、oc-mirror を使用してイメージをミラーリングすると、宛先ミラーレジストリーにミラーリングする前に、数百ギガバイトのデータがディスクにダウンロードされる場合があります。
多くの場合、ミラーレジストリーにデータを入力するときの最初のイメージセットのダウンロードが、最も大きなものとなります。最後にコマンドを実行した後に変更されたイメージのみをダウンロードするため、oc-mirror プラグインを再度実行すると、生成されるイメージセットは小さいことが多いです。
イメージセット設定ファイルでストレージバックエンドを指定する必要があります。このストレージバックエンドは、ローカルディレクトリーまたは Dockerv2 レジストリーにすることができます。oc-mirror プラグインは、イメージセットの作成中にこのストレージバックエンドにメタデータを保存します。
oc-mirror プラグインによって生成されたメタデータを削除または変更しないでください。同じミラーレジストリーに対して oc-mirror プラグインを実行するたびに、同じストレージバックエンドを使用する必要があります。
前提条件
- 必要なコンテナーイメージを取得するためのインターネットへのアクセスがある。
-
OpenShift CLI (
oc
) がインストールされている。 -
oc-mirror
CLI プラグインをインストールしている。 - イメージセット設定ファイルを作成している。
手順
oc mirror
コマンドを実行して、指定されたイメージセット設定から指定されたレジストリーにイメージをミラーリングします。$ oc mirror --config=./imageset-config.yaml \ 1 docker://registry.example:5000 2
検証
-
生成された
oc-mirror-workspace/
ディレクトリーに移動します。 -
results ディレクトリーに移動します (例:
results-1639608409/
。 -
ImageContentSourcePolicy
およびCatalogSource
リソースに YAML ファイルが存在することを確認します。
次のステップ
- oc-mirror が生成したリソースを使用するようにクラスターを設定します。
3.4.6.2. 完全な非接続環境でのイメージセットのミラーリング
完全な非接続環境でイメージセットをミラーリングするには、最初に イメージセットをディスクにミラーリング してから、ディスク上のイメージセットファイルをミラーにミラーリング する必要があります。
3.4.6.2.1. ミラーからディスクへのミラーリング
oc-mirror プラグインを使用して、イメージセットを生成し、コンテンツをディスクに保存できます。生成されたイメージセットは、非接続環境に転送され、ターゲットレジストリーにミラーリングされます。
イメージセット設定ファイルで指定されている設定によっては、oc-mirror を使用してイメージをミラーリングすると、数百ギガバイトのデータがディスクにダウンロードされる場合があります。
多くの場合、ミラーレジストリーにデータを入力するときの最初のイメージセットのダウンロードが、最も大きなものとなります。最後にコマンドを実行した後に変更されたイメージのみをダウンロードするため、oc-mirror プラグインを再度実行すると、生成されるイメージセットは小さいことが多いです。
イメージセット設定ファイルでストレージバックエンドを指定する必要があります。このストレージバックエンドは、ローカルディレクトリーまたは docker v2 レジストリーにすることができます。oc-mirror プラグインは、イメージセットの作成中にこのストレージバックエンドにメタデータを保存します。
oc-mirror プラグインによって生成されたメタデータを削除または変更しないでください。同じミラーレジストリーに対して oc-mirror プラグインを実行するたびに、同じストレージバックエンドを使用する必要があります。
前提条件
- 必要なコンテナーイメージを取得するためのインターネットへのアクセスがある。
-
OpenShift CLI (
oc
) がインストールされている。 -
oc-mirror
CLI プラグインをインストールしている。 - イメージセット設定ファイルを作成している。
手順
oc mirror
コマンドを実行して、指定されたイメージセット設定からディスクにイメージをミラーリングします。$ oc mirror --config=./imageset-config.yaml \ 1 file://<path_to_output_directory> 2
検証
出力ディレクトリーに移動します。
$ cd <path_to_output_directory>
イメージセットの
.tar
ファイルが作成されたことを確認します。$ ls
出力例
mirror_seq1_000000.tar
次のステップ
- イメージセットの.tar ファイルを非接続環境に転送します。
3.4.6.2.2. ディスクからミラーへのミラーリング
oc-mirror プラグインを使用して、生成されたイメージセットの内容をターゲットミラーレジストリーにミラーリングできます。
前提条件
-
非接続環境に OpenShift CLI (
oc
) をインストールしている。 -
非接続環境に
oc-mirror
CLI プラグインをインストールしている。 -
ocmirror
コマンドを使用してイメージセットファイルを生成している。 - イメージセットファイルを非接続環境に転送しました。
手順
oc mirror
コマンドを実行して、ディスク上のイメージセットファイルを処理し、その内容をターゲットミラーレジストリーにミラーリングします。$ oc mirror --from=./mirror_seq1_000000.tar \ 1 docker://registry.example:5000 2
- 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.7. 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/release-signatures/
検証
以下のコマンドを実行して、
ImageContentSourcePolicy
リソースが正常にインストールされたことを確認します。$ oc get imagecontentsourcepolicy --all-namespaces
以下のコマンドを実行して、
CatalogSource
リソースが正常にインストールされたことを確認します。$ oc get catalogsource --all-namespaces
3.4.8. ミラーレジストリーを更新する
フルイメージセットをミラーレジストリーに公開した後、oc-mirror プラグインを使用して、更新されたイメージでミラーレジストリーを更新できます。
oc-mirror プラグインを再度実行すると、前回の実行以降に新しく更新されたイメージのみを含むイメージセットが生成されます。
同じミラーレジストリーに対して oc-mirror の最初の実行と同じストレージバックエンドを使用する必要があります。oc-mirror プラグインによって生成されたメタデータを削除または変更しないでください。
前に作成されたイメージセットとの違いのみを取り込むため、生成されたイメージセットは、多くの場合、最初のイメージセットよりも小さく、迅速に処理されます。
生成されたイメージセットはシーケンシャルであり、ターゲットミラーレジストリーに順番に同期する必要があります。
前提条件
- oc-mirror プラグインを使用して、最初のイメージセットをミラーレジストリーにミラーリングしている。
- oc-mirror プラグインの最初の実行に使用されたストレージバックエンドにアクセスできる。
手順
最初のイメージセットの作成に使用したときと同じ手順に従い、ミラーレジストリーにミラーリングします。手順については、部分的な非接続環境でのイメージセットのミラーリング または 完全な非接続環境でのイメージセットのミラーリング を参照してください。
重要- 差分イメージセットのみが作成およびミラーリングされるように、同じストレージバックエンドを提供する必要があります。
- イメージセットの最初の作成時にミラーレジストリーにトップレベルの namespace を指定した場合は、同じミラーレジストリーに対して oc-mirror プラグインを実行するたびに、この同じ namespace を使用する必要があります。
- oc-mirror が生成したリソースを使用するようにクラスターを設定します。
3.4.9. 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 |
| ミラーリングするローカルヘルムチャートの名前。 |
文字列。例: |
| ミラーリングするローカルヘルムチャートのパス。 |
文字列。例: |
| ミラーリング元のリモートヘルムリポジトリー。 | オブジェクトの配列。以下に例を示します。 repos: - name: podinfo url: https://example.github.io/podinfo charts: - name: podinfo version: 5.0.0 |
| ミラーリング元のヘルムリポジトリーの名前。 |
文字列。例: |
| ミラーリング元の helm リポジトリーの URL。 |
文字列。例: |
| ミラーリングするリモートヘルムチャート。 | オブジェクトの配列。 |
| ミラーリングするヘルムチャートの名前。 |
文字列。例: |
| ミラーリングする名前付きヘルムチャートのバージョン。 |
文字列。例: |
| イメージセットのプラットフォーム設定。 | オブジェクト |
| イメージセットのプラットフォームチャネル設定。 | オブジェクトの配列。以下に例を示します。 channels: - name: stable-4.7 - name: stable-4.6 versions: - '4.6.36' |
| リリースチャネルの名前。 |
文字列。例: |
| 指定されたチャネル内のリリースバージョンのリスト。 |
文字列。例: |
| イメージセットの Operators 設定。 | オブジェクトの配列。以下に例を示します。 operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.9 headsOnly: false packages: - name: elasticsearch-operator startingVersion: '2.4.0' |
| イメージセットに含める Operator カタログ。 |
文字列。例: |
|
チャネル HEAD のダウンロードとフルチャネルのダウンロードを切り替えます。 | ブール値 |
| Operator パッケージ設定 | オブジェクトの配列。以下に例を示します。 operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.8 headsOnly: false packages: - name: elasticsearch-operator startingVersion: '5.2.3-31' |
| イメージセットに含める Operator パッケージ名 |
文字列。例: |
|
ミラーリングする Operator パッケージの開始バージョン。Operator のすべてのバージョンは、 |
文字列。例: |
| Operator パッケージのチャネル設定。 | オブジェクト |
| イメージセットに含める、パッケージ内で一意の Operator チャネル名。 |
文字列。例: |
|
ミラーリングする Operator チャネルの開始バージョン。Operator のすべてのバージョンは、 |
文字列。例: |
| イメージセットのバックエンド設定。 | オブジェクト |
| イメージセットのローカルバックエンド設定。 | オブジェクト |
| イメージセットのメタデータを含むディレクトリーのパス。 |
文字列。例: |
| イメージセットのレジストリーバックエンド設定。 | オブジェクト |
| バックエンドレジストリー URI。オプションで、URI に namespace 参照を含めることができます。 |
文字列。例: |
| オプションで、参照されるバックエンドレジストリーの TLS 検証をスキップします。 |
ブール値。デフォルト値は |
3.4.10. Image set configuration examples
次の ImageSetConfiguration
ファイルの例は、さまざまなミラーリングのユースケースの設定を示しています。
ユースケース: 任意のイメージとヘルムチャートを含む
次の ImageSetConfiguration
ファイルは、レジストリーストレージバックエンドを使用し、これにはヘルムチャートと追加の Red Hat Universal Base Image (UBI) が含まれています。
ImageSetConfiguration
ファイルの例
apiVersion: mirror.openshift.io/v1alpha1 kind: ImageSetConfiguration archiveSize: 4 storageConfig: registry: imageURL: example.com/example/oc-mirror skipTLS: false mirror: ocp: channels: - name: stable-4.10 operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.10 helm: repos: - name: redhat-helm-charts url: https://raw.githubusercontent.com/redhat-developer/redhat-helm-charts/master charts: - name: ibm-mongodb-enterprise-helm version: 0.2.0 additionalImages: - name: registry.redhat.io/ubi8/ubi:latest
ユースケース: 特定の Operator バージョンを含む
次の ImageSetConfiguration
ファイルは、ローカルストレージバックエンドを使用し、これには Kubernetes Operator 用の Red Hat Advanced Cluster Security (3.67.0 以降のバージョン) のみが含まれています。
ImageSetConfiguration
ファイルの例
apiVersion: mirror.openshift.io/v1alpha1 kind: ImageSetConfiguration storageConfig: local: path: /home/user/metadata mirror: operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.10 headsOnly: false packages: - name: rhacs-operator channels: - name: latest startingVersion: 3.67.0
3.4.11. oc-mirror のコマンドリファレンス
以下の表は、oc mirror
サブコマンドとフラグについて説明しています。
サブコマンド | 説明 |
---|---|
| 指定されたシェルのオートコンプリートスクリプトを生成します。 |
| イメージセットの内容を出力します。 |
| サブコマンドに関するヘルプを表示します。 |
| 利用可能なプラットフォームと Operator のコンテンツとそのバージョンを一覧表示します。 |
| oc-mirror バージョンを出力します。 |
フラグ | 説明 |
---|---|
| イメージセット設定ファイルへのパスを指定します。 |
| イメージのプルに関連しないエラーが発生した場合は、続行して、可能な限りミラーリングを試みます。 |
| ターゲットレジストリーの TLS 検証を無効にします。 |
| ターゲットレジストリーにはプレーン HTTP を使用します。 |
| イメージをミラーリングせずにアクションを出力します。 |
| oc-mirror の実行によって生成されたイメージセットアーカイブへのパスを指定して、ターゲットレジストリーにロードします。 |
| ヘルプを表示します。 |
|
ログレベルの詳細度の数値を指定します。有効な値は |
|
|
| アーティファクトディレクトリーの削除を省略します。 |
| Operator カタログのイメージタグをダイジェストピンに置き換えないでください。 |
| イメージが見つからない場合は、エラーを報告して実行を中止する代わりにスキップします。イメージセット設定で明示的に指定されたカスタムイメージには適用されません。 |
| ダイジェストの検証を省略します。 |
| ソースレジストリーの TLS 検証を無効にします。 |
| ソースレジストリーにはプレーン HTTP を使用します。 |