3.5. oc-mirror プラグイン v2 を使用した非接続インストールのイメージのミラーリング
プライベートレジストリー内のミラーリングされた OpenShift Container Platform コンテナーイメージのセットからクラスターをインストールすると、非接続環境でクラスターを実行できます。このレジストリーは、クラスターが実行中の場合は常に実行されている必要があります。
完全または部分的な非接続環境のミラーレジストリーにイメージをミラーリングするために、oc-mirror
OpenShift CLI (oc
) プラグインを使用できルノと同様に、oc-mirror プラグイン v2 を使用できます。公式の Red Hat レジストリーから必要なイメージをダウンロードするには、インターネットに接続されたシステムから oc-mirror プラグイン v2 を実行する必要があります。
oc-mirror プラグイン v2 はテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビューの機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
3.5.1. oc-mirror プラグイン v2 について
oc-mirror OpenShift CLI (oc
) プラグインは、必要なすべての OpenShift Container Platform コンテンツとその他のイメージをミラーレジストリーにミラーリングする単一のツールです。
oc-mirror の新しいテクノロジープレビューバージョンを使用するには、oc-mirror プラグイン v2 コマンドラインに --v2
フラグを追加します。
oc-mirror プラグイン v2 には次の機能があります。
- イメージが以前にミラーリングされたかどうかに関係なく、イメージセット設定ファイルで指定されたすべてのイメージセットが、ミラー先のレジストリーにミラーリングされていることを確認します。
- メタデータの代わりにキャッシュシステムを使用します。そのため、プロセスの 1 つのステップで障害が発生した場合でも、ミラーリングプロセスを最初からやり直す必要がなくなります。
- 新しいイメージのみをアーカイブに組み込むことで、アーカイブのサイズを最小限に抑えます。
- ミラーリングの日付で選択したコンテンツを含むミラーリングアーカイブを生成します。
-
ImageContentSourcePolicy
(ICSP) リソースではなく、イメージセット全体をカバーするImageDigestMirrorSet
(IDMS) およびImageTagMirrorSet
(ITMS) リソースを生成できます。v1 では、ICSP リソースにより、各ミラーリング操作のイメージセットへの増分変更だけがカバーされていました。 - バンドル名でフィルタリングされた Operator バージョンを保存します。
-
自動プルーニングを実行しません。v2 では
Delete
機能が使用されるようになり、ユーザーがイメージの削除をより細かく制御できるようになりました。 -
registries.conf
ファイルのサポートを導入します。この変更により、同じキャッシュを使用しつつ複数のエンクレーブに容易にミラーリングできます。
3.5.1.1. ワークフローの概要
次の手順は、oc-mirror プラグイン v2 を使用してイメージをミラーレジストリーにミラーリングする方法の概要を示しています。
- イメージセット設定ファイルを作成します。
次のいずれかのワークフローを使用して、イメージセットをターゲットミラーレジストリーにミラーリングします。
- イメージセットをターゲットミラーレジストリーに直接 (ミラーからミラーに) ミラーリングします。
-
イメージセットをディスクにミラーリングし (ミラーからディスクへのミラーリング)、
tar
ファイルをターゲット環境に転送してから、イメージセットをターゲットミラーレジストリーにミラーリングします (ディスクからミラーへのミラーリング)。
- oc-mirror プラグイン v2 が生成したリソースを使用するようにクラスターを設定します。
- 必要に応じてこれらの手順を繰り返して、ターゲットミラーレジストリーを更新します。
3.5.1.2. oc-mirror プラグイン v2 の互換性とサポート
oc-mirror プラグイン v2 は、OpenShift Container Platform でサポートされています。
aarch64
、ppc64le
、および s390x
アーキテクチャーでは、oc-mirror プラグイン v2 は OpenShift Container Platform 4.14 以降でのみサポートされます。
ミラーリングする必要がある OpenShift Container Platform のバージョンに関係なく、使用可能な最新バージョンの oc-mirror プラグイン v2 を使用してください。
3.5.2. 前提条件
Red Hat Quay など、OpenShift Container Platform クラスターをホストする場所に Docker V2-2 をサポートするコンテナーイメージレジストリーを持っている。
注記- Red Hat Quay を使用する場合は、oc-mirror プラグインを備えたバージョン 3.6 以降を使用してください。Red Hat Quay Operator の OpenShift Container Platform へのデプロイ (Red Hat Quay ドキュメント) を参照してください。レジストリーの選択とインストールについてさらにサポートが必要な場合は、営業担当者または Red Hat サポートにお問い合わせください。
- コンテナーイメージレジストリー用の既存ソリューションがない場合、OpenShift Container Platform サブスクライバーには Red Hat OpenShift 用のミラーレジストリーが提供されます。このミラーレジストリーはサブスクリプションに含まれており、小規模なコンテナーレジストリーとして機能します。このレジストリーを使用して、非接続インストールに必要な OpenShift Container Platform のコンテナーイメージをミラーリングできます。
- プロビジョニングされたクラスター内のすべてのマシンは、ミラーレジストリーにアクセスできる必要があります。レジストリーにアクセスできない場合、インストールや更新などのタスクや、ワークロードの再配置などの日常的な操作が失敗する可能性があります。ミラーレジストリーは、その可用性が OpenShift Container Platform クラスターの実稼働環境の可用性と一致するように、可用性の高い方法で運用する必要があます。
3.5.3. ミラーホストの準備
イメージミラーリングに oc-mirror プラグイン v2 を使用するには、プラグインをインストールし、コンテナーイメージの認証情報を含むファイルを作成して、Red Hat からミラーにミラーリングできるようにする必要があります。
3.5.3.1. oc-mirror OpenShift CLI プラグインのインストール
非接続環境でイメージセットを管理するには、oc-mirror OpenShift CLI プラグインをインストールします。
前提条件
OpenShift CLI (
oc
) がインストールされている。完全な非接続環境でイメージセットをミラーリングする場合は、次の点を確認してください。- インターネットにアクセスできるホストに oc-mirror プラグインをインストールした。
- 非接続環境のホストが、ターゲットミラーレジストリーにアクセスできる。
-
oc-mirror を使用するオペレーティングシステムで、
umask
パラメーターを0022
に設定した。 - 使用している RHEL バージョンに適したバイナリーをインストールした。
手順
oc-mirror CLI プラグインをダウンロードします。
- Red Hat Hybrid Cloud Console の Downloads ページに移動します。
- OpenShift disconnected installation tools セクションで、ドロップダウンメニューから OpenShift Client (oc) mirror plugin の OS type と Architecture type を選択します。
- Download をクリックしてファイルを保存します。
次のコマンドを実行してアーカイブを展開します。
$ tar xvzf oc-mirror.tar.gz
必要に応じて、次のコマンドを実行し、プラグインファイルを更新して実行可能にします。
$ chmod +x oc-mirror
注記oc-mirror
ファイルの名前を変更しないでください。次のコマンドを実行して、
PATH
(例:/usr/local/bin
) にファイルを配置し、oc-mirror CLI プラグインをインストールします。$ sudo mv oc-mirror /usr/local/bin/.
検証
次のコマンドを実行して、oc-mirror プラグイン v2 が正常にインストールされていることを確認します。
$ oc mirror --v2 --help
3.5.3.2. イメージのミラーリングを可能にする認証情報の設定
Red Hat からミラーへのイメージのミラーリングを可能にするコンテナーイメージレジストリー認証情報ファイルを作成します。
クラスターのインストール時に、このイメージレジストリー認証情報ファイルをプルシークレットとして使用しないでください。クラスターのインストール時にこのファイルを指定すると、クラスター内のすべてのマシンにミラーレジストリーへの書き込みアクセスが付与されます。
前提条件
- 非接続環境で使用するミラーレジストリーを設定した。
- イメージをミラーリングするミラーレジストリー上のイメージリポジトリーの場所を特定している。
- イメージのイメージリポジトリーへのアップロードを許可するミラーレジストリーアカウントをプロビジョニングしている。
- ミラーレジストリーへの書き込みアクセス権がある。
手順
インストールホストで以下の手順を実行します。
-
registry.redhat.io
プルシークレットを Red Hat OpenShift Cluster Manager からダウンロードします。 次のコマンドを実行して、プルシークレットのコピーを JSON 形式で作成します。
$ cat ./pull-secret | jq . > <path>/<pull_secret_file_in_json> 1
- 1
- プルシークレットを保存するフォルダーへのパスおよび作成する 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" } } }
$XDG_RUNTIME_DIR/containers
ディレクトリーが存在しない場合は、次のコマンドを入力して作成します。$ mkdir -p $XDG_RUNTIME_DIR/containers
-
プルシークレットファイルを
$XDG_RUNTIME_DIR/containers/auth.json
として保存します。 次のコマンドを実行して、ミラーレジストリーの base64 でエンコードされたユーザー名とパスワードまたはトークンを生成します。
$ echo -n '<user_name>:<password>' | base64 -w0 1
- 1
<user_name>
および<password>
には、レジストリーに設定したユーザー名およびパスワードを指定します。
出力例
BGVtbYk3ZHAtqXs=
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.5.4. イメージセットをミラーレジストリーにミラーリングする
イメージセットをミラーレジストリーにミラーリングすると、必要なイメージがセキュアで制御された環境で利用できるようになるため、デプロイメント、更新、メンテナンスのタスクがスムーズになります。
3.5.4.1. イメージセット設定の作成
oc-mirror プラグイン v2 を使用してイメージをミラーリングする前に、イメージセット設定ファイルを作成する必要があります。このイメージセット設定ファイルにより、ミラーリングする OpenShift Container Platform リリース、Operator、およびその他のイメージと、oc-mirror プラグイン v2 の他の設定を定義します。
前提条件
- コンテナーイメージレジストリーの認証情報ファイルを作成している。手順については、イメージのミラーリングを可能にする認証情報の設定 を参照してください。
手順
ImageSetConfiguration
YAML ファイルを作成し、ファイルを変更して必要なイメージを含めます。ImageSetConfiguration
YAML ファイルの例kind: ImageSetConfiguration apiVersion: mirror.openshift.io/v2alpha1 mirror: platform: channels: - name: stable-4.17 1 minVersion: 4.17.2 maxVersion: 4.17.2 graph: true 2 operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.17 3 packages: 4 - name: aws-load-balancer-operator - name: 3scale-operator - name: node-observability-operator additionalImages: 5 - name: registry.redhat.io/ubi8/ubi:latest - name: registry.redhat.io/ubi9/ubi@sha256:20f695d2a91352d4eaa25107535126727b5945bff38ed36a3e59590f495046f0
- 1
- OpenShift Container Platform イメージの取得元のチャネルを設定します。
- 2
graph: true
を追加して、グラフデータイメージをビルドし、ミラーレジストリーにプッシュします。OpenShift Update Service (OSUS) を作成するには、graph-data イメージが必要です。graph: true
フィールドはUpdateService
カスタムリソースマニフェストも生成します。oc
コマンドラインインターフェイス (CLI) は、UpdateService
カスタムリソースマニフェストを使用して OSUS を作成できます。詳細は、OpenShift Update Service について を参照してください。- 3
- OpenShift Container Platform イメージを取得するための Operator カタログを設定します。
- 4
- イメージセットに含める特定の Operator パッケージのみを指定します。カタログ内のすべてのパッケージを取得するには、このフィールドを削除してください。
- 5
- イメージセットに含める追加のイメージを指定します。
3.5.4.2. 部分的な非接続環境でのイメージセットのミラーリング
インターネットアクセスが制限されている環境では、oc-mirror プラグイン v2 を使用してイメージセットをレジストリーにミラーリングできます。
前提条件
- インターネット接続があり、oc-mirror プラグイン v2 を実行している環境内のミラーレジストリーにアクセスできる。
手順
次のコマンドを実行して、指定されたイメージセット設定から指定されたレジストリーにイメージをミラーリングします。
$ oc mirror -c <image_set_configuration> --workspace file://<file_path> docker://<mirror_registry_url> --v2 1
ここでは、以下のようになります。
- <image_set_configuration>
- イメージセット設定ファイルの名前を指定します。
- <file_path>
- クラスターリソースの生成先のディレクトリーを指定します。
- <mirror_registry_url>
- イメージの保存先であり、そこからイメージを削除する必要があるミラーレジストリーの URL またはアドレスを指定します。
検証
-
<file_path>
ディレクトリーに生成されたworking-dir/cluster-resources
ディレクトリーに移動します。 -
ImageDigestMirrorSet
、ImageTagMirrorSet
、およびCatalogSource
リソースの YAML ファイルが存在することを確認します。
次のステップ
- oc-mirror プラグイン v2 が生成したリソースを使用するようにクラスターを設定します。
3.5.4.3. 完全な非接続環境でのイメージセットのミラーリング
OpenShift Container Platform クラスターがパブリックインターネットにアクセスできない完全な非接続環境で、イメージセットをミラーリングできます。ミラーリングプロセスのワークフローの概要を以下に示します。
- ミラーからディスクへのミラーリング: イメージセットをアーカイブにミラーリングします。
- ディスク転送: 非接続ミラーレジストリーのネットワークにアーカイブを手動で転送します。
- ディスクからミラーへのミラーリング: イメージセットをアーカイブからターゲットの非接続レジストリーにミラーリングします。
3.5.4.3.1. ミラーからディスクへのミラーリング
oc-mirror プラグイン v2 を使用して、イメージセットを生成し、コンテンツをディスクに保存できます。その後、生成されたイメージセットを非接続環境に転送し、ターゲットレジストリーにミラーリングできます。
oc-mirror プラグイン v2 は、イメージセット設定ファイルで指定されたソースからコンテナーイメージを取得し、ローカルディレクトリーの tar アーカイブにパックします。
手順
次のコマンドを実行して、指定されたイメージセット設定からディスクにイメージをミラーリングします。
$ oc mirror -c <image_set_configuration> file://<file_path> --v2
ここでは、以下のようになります。
- <image_set_configuration>
- イメージセット設定ファイルの名前を指定します。
- <file_path>
- イメージセットを含むアーカイブの生成先のディレクトリーを指定します。
検証
-
生成された
<file_path>
ディレクトリーに移動します。 - アーカイブファイルが生成されたことを確認します。
次のステップ
- ディスクからミラーへのミラーリング
3.5.4.3.2. ディスクからミラーへのミラーリング
oc-mirror プラグイン v2 を使用して、ディスクからターゲットミラーレジストリーにイメージセットをミラーリングできます。
oc-mirror プラグイン v2 は、ローカルディスクからコンテナーイメージを取得し、指定されたミラーレジストリーに転送します。
手順
- ミラーリングされたイメージセットが含まれているディスクを、ターゲットミラーレジストリーが含まれている環境に転送します。
次のコマンドを実行して、ディスク上のイメージセットファイルを処理し、その内容をターゲットミラーレジストリーにミラーリングします。
$ oc mirror -c <image_set_configuration> --from file://<file_path> docker://<mirror_registry_url> --v2
ここでは、以下のようになります。
- <image_set_configuration>
- イメージセット設定ファイルの名前を指定します。
- <file_path>
- アーカイブが含まれているディスク上のディレクトリーを指定します。このフォルダーには、クラスターに適用するために生成されたクラスターリソース (ImageDigestMirrorSet (IDMS) や ImageTagMirrorSet (ITMS) リソースなど) も含まれています。
- <mirror_registry_url>
- イメージの保存先であるミラーレジストリーの URL またはアドレスを指定します。
検証
-
<file_path>
ディレクトリーに生成されたworking-dir
ディレクトリー内のcluster-resources
ディレクトリーに移動します。 -
ImageDigestMirrorSet
、ImageTagMirrorSet
、およびCatalogSource
リソースの YAML ファイルが存在することを確認します。
次のステップ
- oc-mirror プラグイン v2 が生成したリソースを使用するようにクラスターを設定します。
3.5.5. v2 が生成するカスタムリソース
oc-mirror プラグイン v2 では、イメージセット内の 1 つ以上のイメージがダイジェストによってミラーリングされている場合、ImageDigestMirrorSet
(IDMS) リソースがデフォルトで生成されます。イメージセット内の 1 つ以上のイメージがタグによってミラーリングされている場合、ImageTagMirrorSet
(ITMS) リソースが生成されます。
Operator Lifecycle Manager (OLM) が、CatalogSource
リソースを使用して、ミラーレジストリー内の利用可能な Operator に関する情報を取得します。
OpenShift Update Service が、UpdateService
リソースを使用して、非接続環境に更新グラフデータを提供します。
3.5.5.1. oc-mirror プラグイン v2 が生成したリソースを使用するためのクラスター設定
イメージセットをミラーレジストリーにミラーリングした後、生成された ImageDigestMirrorSet
(IDMS)、ImageTagMirrorSet
(ITMS)、CatalogSource
、および UpdateService
リソースをクラスターに適用する必要があります。
oc-mirror プラグイン v2 では、oc-mirror プラグイン v1 の ImageContentSourcePolicy
(ICSP) ファイルとは異なり、IDMS ファイルと ITMS ファイルがイメージセット全体をカバーします。したがって、増分ミラーリング中に新しいイメージのみを追加した場合でも、IDMS ファイルと ITMS ファイルにはセットのすべてのイメージが含まれます。
前提条件
-
cluster-admin
ロールを持つユーザーとしてクラスターにアクセスできる。
手順
-
cluster-admin
ロールを持つユーザーとして OpenShift CLI にログインします。 以下のコマンドを実行して、results ディレクトリーからクラスターに YAML ファイルを適用します。
$ oc apply -f <path_to_oc_mirror_workspace>/working-dir/cluster-resources
検証
次のコマンドを実行して、
ImageDigestMirrorSet
リソースが正常にインストールされたことを確認します。$ oc get imagedigestmirrorset
次のコマンドを実行して、
ImageTagMirrorSet
リソースが正常にインストールされたことを確認します。$ oc get imagetagmirrorset
以下のコマンドを実行して、
CatalogSource
リソースが正常にインストールされたことを確認します。$ oc get catalogsource -n openshift-marketplace
oc-mirror プラグイン v2 によって生成されたリソースを使用するようにクラスターを設定したら、ミラーリングされたイメージを使用して実行できるタスクの詳細について、次のステップ を参照してください。
3.5.6. 非接続環境からのイメージ削除
以前に oc-mirror プラグイン v2 を使用してイメージをデプロイしたことがある場合は、そのイメージを削除してミラーレジストリーの領域を解放できます。oc-mirror プラグイン v2 は、ImageSetConfiguration
ファイルに含まれていないイメージを自動プルーニングしません。そのため、ImageSetConfig.yaml
ファイルに変更を加えたときに、必要なイメージやデプロイされたイメージが誤って削除されることはありません。
削除するイメージを指定するには、DeleteImageSetConfiguration
ファイルを作成する必要があります。
次の例では、DeleteImageSetConfiguration
ファイルで次のイメージを削除します。
- OpenShift Container Platform 4.13.3 のすべてのリリースイメージ。
-
redhat-operator-index
v4.12
カタログイメージ。 -
aws-load-balancer-Operator
v0.0.1 バンドルと関連するすべてのイメージ。 -
それぞれ対応するダイジェストによって参照される、
ubi
およびubi-minimal
の追加イメージ。
DeleteImageSetConfiguration
ファイルの例
apiVersion: mirror.openshift.io/v2alpha1 kind: DeleteImageSetConfiguration delete: platform: channels: - name: stable-4.13 minVersion: 4.13.3 maxVersion: 4.13.3 operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.12 packages: - name: aws-load-balancer-operator minVersion: 0.0.1 maxVersion: 0.0.1 additionalImages: - name: registry.redhat.io/ubi8/ubi@sha256:bce7e9f69fb7d4533447232478fd825811c760288f87a35699f9c8f030f2c1a6 - name: registry.redhat.io/ubi8/ubi-minimal@sha256:8bedbe742f140108897fb3532068e8316900d9814f399d676ac78b46e740e34e
ミラーリングの問題を軽減するために、mirror-to-disk と disk-to-mirror のワークフローの使用を検討してください。
oc-mirror プラグイン v2 はイメージのマニフェストのみを削除します。そのため、レジストリーの占有されているストレージは削減されません。
マニフェストが削除されたイメージなど、不要なイメージが使用するストレージ領域を解放するには、コンテナーレジストリーでガベージコレクターを有効にする必要があります。ガベージコレクターを有効にすると、レジストリーはマニフェストへの参照がなくなったイメージ Blob を削除します。そのため、削除された Blob が使用していたストレージが削減されます。ガベージコレクターを有効にするプロセスは、コンテナーレジストリーによって異なります。
Operator イメージを削除するときに Operator カタログイメージの削除をスキップするには、DeleteImageSetConfiguration
ファイル内の Operator カタログイメージの下に特定の Operator をリストする必要があります。そうすることで、カタログイメージではなく、指定された Operator のみが削除されます。
Operator カタログイメージのみを指定した場合、そのカタログ内のすべての Operator とカタログイメージ自体が削除されます。
3.5.6.1. 非接続環境からイメージを削除する
oc-mirror プラグイン v2 を使用して非接続環境からイメージを削除するには、次の手順に従います。
前提条件
- マニフェストを参照しなくなったイメージを削除するために、環境でガベージコレクションを有効にした。
手順
delete-image-set-config.yaml
ファイルを作成し、次の内容を含めます。DeleteImageSetConfiguration
ファイルapiVersion: mirror.openshift.io/v2alpha1 kind: DeleteImageSetConfiguration delete: platform: channels: - name: <channel_name> 1 minVersion: <channel_min_version> 2 maxVersion: <channel_max_version> 3 operators: - catalog: <operator_catalog_name> 4 packages: - name: <operator_name> 5 minVersion: <operator_max_version> 6 maxVersion: <operator_min_version> 7 additionalImages: - name: <additional_images> 8
- 1 1
- 削除する OpenShift Container Platform チャネルの名前を指定します (例:
stable-4.15
)。 - 2 3
- チャネル内の削除するイメージのバージョン範囲を指定します。たとえば、最小バージョンとして
4.15.0
、最大バージョンとして4.15.1
を指定します。1 つのバージョンのイメージのみを削除するには、minVersion
フィールドとmaxVersion
フィールドの両方にそのバージョン番号を使用します。 - 4
- 削除する Operator カタログイメージを指定します (例:
registry.redhat.io/redhat/redhat-operator-index:v4.14
)。カタログイメージを削除する場合は、delete.operators.packages
パラメーターを使用して個別の Operator を指定しないでください。 - 5
- 削除する特定の Operator バンドルを指定します (例:
aws-load-balancer-operator
)。個別の Operator を指定すると、Operator カタログイメージが削除されません。 - 6 7
- Operator に対して削除するイメージのバージョン範囲を指定します。たとえば、最小バージョンとして
0.0.1
、最大バージョンとして0.0.2
を指定します。1 つのバージョンのイメージのみを削除するには、minVersion
フィールドとmaxVersion
フィールドの両方にそのバージョン番号を使用します。 - 8
- 削除する追加イメージを指定します (例:
registry.redhat.io/ubi9/ubi-init:latest
)。
次のコマンドを実行して、
delete-images.yaml
ファイルを作成します。$ oc mirror delete --config delete-image-set-config.yaml --workspace file://<previously_mirrored_work_folder> --v2 --generate docker://<remote_registry>
ここでは、以下のようになります。
- <previously_mirrored_work_folder>
- 以前、ミラーリングプロセス中にイメージがミラーリングまたは保存されたディレクトリーを指定します。
- <remote_registry>
- イメージの削除元となるリモートコンテナーレジストリーの URL またはアドレスを指定します。
-
作成された
<previously_mirrored_work_folder>/delete
ディレクトリーに移動します。 -
delete-images.yaml
ファイルが生成されたことを確認します。 - ファイルにリストされている各イメージがクラスターで不要になり、レジストリーから安全に削除できることを手動で確認します。
delete-images
YAML ファイルを生成した後、次のコマンドを実行してリモートレジストリーからイメージを削除します。$ oc mirror delete --v2 --delete-yaml-file <previously_mirrored_work_folder>/working-dir/delete/delete-images.yaml docker://<remote_registry>
ここでは、以下のようになります。
- <previously_mirrored_work_folder>
- 以前、ミラーリングプロセス中にイメージがミラーリングまたは保存されたディレクトリーを指定します。
- <remote_registry>
イメージの削除元となるリモートコンテナーレジストリーの URL またはアドレスを指定します。
重要mirror-to-mirror 方式を使用してイメージをミラーリングする場合、イメージはローカルにキャッシュされないため、ローカルキャッシュからイメージを削除することはできません。
3.5.7. ミラーリング用に選択したイメージを確認する
oc-mirror プラグイン v2 を使用して、実際にはイメージをミラーリングしないテストラン (ドライラン) を実行できます。これにより、ミラーリングされるイメージのリストを確認できます。ドライランは、イメージセット設定のエラーを早期に検出するためにも使用できます。mirror-to-disk のワークフローでドライランを実行する場合、oc-mirror プラグイン v2 は、イメージセット内のすべてのイメージがキャッシュ内で使用可能か確認します。不足しているイメージは missing.txt
ファイルにリストされます。ミラーリングの前にドライランを実行すると、missing.txt
ファイルと mapping.txt
ファイルには同じイメージリストが含まれています。
3.5.7.1. oc-mirror プラグイン v2 のドライランを実行する
イメージをミラーリングせずにドライランを実行して、イメージセットの設定を確認します。これにより、セットアップが正しいことを確認でき、意図しない変更を防止できます。
手順
テストランを実行するには、
oc mirror
コマンドを実行し、コマンドに--dry-run
引数を追加します。$ oc mirror -c <image_set_config_yaml> --from file://<oc_mirror_workspace_path> docker://<mirror_registry_url> --dry-run --v2
ここでは、以下のようになります。
-
<image_set_config_yaml>
: 先ほど作成したイメージセット設定ファイルを使用します。 -
<oc_mirror_workspace_path>
: ワークスペースパスのアドレスを挿入します。 <mirror_registry_url>
: イメージを削除するリモートコンテナーレジストリーの URL またはアドレスを挿入します。出力例
$ oc mirror --config /tmp/isc_dryrun.yaml file://<oc_mirror_workspace_path> --dry-run --v2 [INFO] : :warning: --v2 flag identified, flow redirected to the oc-mirror v2 version. This is Tech Preview, it is still under development and it is not production ready. [INFO] : :wave: Hello, welcome to oc-mirror [INFO] : :gear: setting up the environment for you... [INFO] : :twisted_rightwards_arrows: workflow mode: mirrorToDisk [INFO] : :sleuth_or_spy: going to discover the necessary images... [INFO] : :mag: collecting release images... [INFO] : :mag: collecting operator images... [INFO] : :mag: collecting additional images... [WARN] : :warning: 54/54 images necessary for mirroring are not available in the cache. [WARN] : List of missing images in : CLID-19/working-dir/dry-run/missing.txt. please re-run the mirror to disk process [INFO] : :page_facing_up: list of all images for mirroring in : CLID-19/working-dir/dry-run/mapping.txt [INFO] : mirror time : 9.641091076s [INFO] : :wave: Goodbye, thank you for using oc-mirror
-
検証
生成されたワークスペースディレクトリーに移動します。
$ cd <oc_mirror_workspace_path>
-
生成された
mapping.txt
ファイルとmissing.txt
ファイルを確認します。これらのファイルには、ミラーリングされるすべてのイメージのリストが含まれています。
3.5.7.2. oc-mirror プラグイン v2 エラーのトラブルシューティング
oc-mirror プラグイン v2 では、すべてのイメージミラーリングエラーが別のファイルに記録されるようになり、障害の追跡と診断が容易になりました。
リリースイメージまたはリリースコンポーネントイメージのミラーリング中にエラーが発生した場合、それは重大なエラーです。これにより、ミラーリングプロセスが直ちに停止します。
Operator、Operator 関連イメージ、または追加イメージのミラーリングに関するエラーが発生しても、ミラーリングプロセスは停止しません。ミラーリングは継続され、oc-mirror プラグイン v2 は 8 イメージごとに更新を記録します。
イメージのミラーリングに失敗し、そのイメージが 1 つ以上の Operator バンドルの一部としてミラーリングされている場合、oc-mirror プラグイン v2 は、どの Operator が不完全であるかをユーザーに通知し、エラーの影響を受ける Operator バンドルを明確に示します。
手順
サーバー関連の問題を確認します。
エラーの例
[ERROR] : [Worker] error mirroring image localhost:55000/openshift/graph-image:latest error: copying image 1/4 from manifest list: trying to reuse blob sha256:edab65b863aead24e3ed77cea194b6562143049a9307cd48f86b542db9eecb6e at destination: pinging container registry localhost:5000: Get "https://localhost:5000/v2/": http: server gave HTTP response to HTTPS client
-
oc-mirror プラグイン v2 出力ディレクトリーにある
working-dir/logs
フォルダー内のmirroring_error_date_time.log
ファイルを開きます。 -
HTTP 500
エラー、期限切れのトークン、タイムアウトなどの、通常はサーバー側の問題を示すエラーメッセージを探します。 - 問題が解決しない場合は、ミラーリングプロセスを再試行するか、サポートにお問い合わせください。
-
oc-mirror プラグイン v2 出力ディレクトリーにある
Operator の不完全なミラーリングを確認します。
エラーの例
error mirroring image docker://registry.redhat.io/3scale-amp2/zync-rhel9@sha256:8bb6b31e108d67476cc62622f20ff8db34efae5d58014de9502336fcc479d86d (Operator bundles: [3scale-operator.v0.11.12] - Operators: [3scale-operator]) error: initializing source docker://localhost:55000/3scale-amp2/zync-rhel9:8bb6b31e108d67476cc62622f20ff8db34efae5d58014de9502336fcc479d86d: reading manifest 8bb6b31e108d67476cc62622f20ff8db34efae5d58014de9502336fcc479d86d in localhost:55000/3scale-amp2/zync-rhel9: manifest unknown error mirroring image docker://registry.redhat.io/3scale-amp2/3scale-rhel7-operator-metadata@sha256:de0a70d1263a6a596d28bf376158056631afd0b6159865008a7263a8e9bf0c7d error: skipping operator bundle docker://registry.redhat.io/3scale-amp2/3scale-rhel7-operator-metadata@sha256:de0a70d1263a6a596d28bf376158056631afd0b6159865008a7263a8e9bf0c7d because one of its related images failed to mirror error mirroring image docker://registry.redhat.io/3scale-amp2/system-rhel7@sha256:fe77272021867cc6b6d5d0c9bd06c99d4024ad53f1ab94ec0ab69d0fda74588e (Operator bundles: [3scale-operator.v0.11.12] - Operators: [3scale-operator]) error: initializing source docker://localhost:55000/3scale-amp2/system-rhel7:fe77272021867cc6b6d5d0c9bd06c99d4024ad53f1ab94ec0ab69d0fda74588e: reading manifest fe77272021867cc6b6d5d0c9bd06c99d4024ad53f1ab94ec0ab69d0fda74588e in localhost:55000/3scale-amp2/system-rhel7: manifest unknown
コンソールまたはログファイルで、どの Operator が不完全であるかを示す警告を確認します。
Operator が不完全としてフラグ付けされている場合、その Operator に関連するイメージのミラーリングに失敗した可能性があります。
- 不足しているイメージを手動でミラーリングするか、ミラーリングプロセスを再試行します。
生成されたクラスターリソースに関連するエラーを確認します。一部のイメージのミラーリングに失敗した場合でも、oc-mirror v2 は、正常にミラーリングされたイメージに対して
IDMS.yaml
ファイルやITMS.yaml
ファイルなどのクラスターリソースを生成します。- 生成されたファイルの出力ディレクトリーを確認します。
- 特定のイメージでこれらのファイルが見つからない場合、ミラーリングプロセス中にそれらのイメージに重大なエラーが発生していないことを確認します。
これらの手順に従うことで、問題をより適切に診断し、よりスムーズにミラーリングを実行できます。
3.5.8. エンクレーブサポートの利点
エンクレーブサポートは、ネットワークの特定部分への内部アクセスを制限します。ファイアウォール境界を通過する受信トラフィックおよび送信トラフィックのアクセスを許可する非武装地帯 (DMZ) ネットワークとは異なり、エンクレーブはファイアウォール境界を越えません。
エンクレーブサポートはテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビューの機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
新しいエンクレーブサポート機能は、少なくとも 1 つの中間非接続ネットワークの背後で保護された複数のエンクレーブのミラーリングが必要な場合に使用します。
エンクレーブサポートには次の利点があります。
- 複数のエンクレーブのコンテンツをミラーリングし、単一の内部レジストリーに集約できます。ミラーリングされたコンテンツに対してセキュリティーチェックを実行する必要がある場合もありますが、そのようなチェックもこのセットアップですべて一度に実行できます。その後、コンテンツはダウンストリームのエンクレーブにミラーリングされる前に検査されます。
- 各エンクレーブに対してインターネットからミラーリングプロセスを再開することなく、集約された内部レジストリーからエンクレーブにコンテンツを直接ミラーリングできます。
- ネットワークステージ間のデータ転送を最小限に抑え、ステージ間で Blob またはイメージが 1 回だけ転送されるようにできます。
3.5.8.1. エンクレーブへのミラーリングのワークフロー
上の画像は、インターネット接続のある環境とない環境を含むさまざまな環境で oc-mirror プラグインを使用するフローの概要を示しています。
インターネット接続環境:
- ユーザーが oc-mirror プラグイン v2 を実行して、オンラインレジストリーのコンテンツをローカルディスクディレクトリーにミラーリングします。
- ミラーリングしたコンテンツを、オフライン環境への転送用のディスクに保存します。
非接続の企業環境 (インターネットなし):
フロー 1:
-
ユーザーが oc-mirror プラグイン v2 を実行して、オンライン環境から転送されたディスクディレクトリーのミラーリングされたコンテンツを
enterprise-registry.in
レジストリーにロードします。
-
ユーザーが oc-mirror プラグイン v2 を実行して、オンライン環境から転送されたディスクディレクトリーのミラーリングされたコンテンツを
フロー 2:
-
registries.conf
ファイルを更新した後、ユーザーは oc-mirror プラグイン v2 を実行して、enterprise-registry.in
レジストリーのコンテンツをエンクレーブ環境にミラーリングします。 - コンテンツを、エンクレーブへの転送用のディスクディレクトリーに保存します。
-
エンクレーブ環境 (インターネットなし):
-
ユーザーが oc-mirror プラグイン v2 を実行して、ディスクディレクトリーのコンテンツを
enclave-registry.in
レジストリーにロードします。
この画像は、これらの環境全体のデータフローを視覚的に表しており、インターネット接続のない非接続環境やエンクレーブ環境に対応するために oc-mirror を使用することを強調しています。
3.5.8.2. エンクレーブへのミラーリング
エンクレーブにミラーリングする場合は、まず 1 つ以上のエンクレーブから必要なイメージをエンタープライズ集約レジストリーに転送する必要があります。
中央レジストリーは、セキュアなネットワーク内 (具体的には非接続環境内) に配置されており、パブリックインターネットに直接リンクされていません。ただしユーザーは、パブリックインターネットにアクセスできる環境で oc mirror
を実行する必要があります。
手順
非接続環境で oc-mirror プラグイン v2 を実行する前に、
registries.conf
ファイルを作成します。ファイルの TOML 形式は、この仕様で説明されています。注記ファイルは、
$HOME/.config/containers/registries.conf
または/etc/containers/registries.conf
に保存することが推奨されます。registries.conf
の例[[registry]] location="registry.redhat.io" [[registry.mirror]] location="<enterprise-registry.in>" [[registry]] location="quay.io" [[registry.mirror]] location="<enterprise-registry.in>"
ミラーアーカイブを生成します。
すべての OpenShift Container Platform コンテンツを
<file_path>/enterprise-content
配下のディスクのアーカイブに収集するには、次のコマンドを実行します。$ oc mirror --v2 -c isc.yaml file://<file_path>/enterprise-content
isc.yaml の例
apiVersion: mirror.openshift.io/v2alpha1 kind: ImageSetConfiguration mirror: platform: architectures: - "amd64" channels: - name: stable-4.15 minVersion: 4.15.0 maxVersion: 4.15.3
生成されたアーカイブは、非接続環境に転送されます。トランスポートメカニズムは、oc-mirror プラグイン v2 に含まれていません。転送ストラテジーは、エンタープライズネットワーク管理者が決定します。
場合によっては、ディスクをある場所から物理的に取り外し、非接続環境内の別のコンピューターに接続することで、手動で転送します。その他の場合、セキュアファイル転送プロトコル (SFTP) またはその他のプロトコルを使用します。
アーカイブの転送が完了したら、次の例のとおり、oc-mirror プラグイン v2 を再度実行して関連するアーカイブの内容をレジストリー (例では
entrerpise_registry.in
) にミラーリングできます。$ oc mirror --v2 -c isc.yaml --from file://<disconnected_environment_file_path>/enterprise-content docker://<enterprise_registry.in>/
ここでは、以下のようになります。
-
--from
は、アーカイブを含むフォルダーを指します。file://
で始まります。 -
docker://
はミラーリングの宛先であり、最後の引数です。Docker レジストリーであるため、そのようになります。 -
-c
(--config
) は必須の引数です。これにより、oc-mirror プラグイン v2 は最終的にアーカイブのサブ部分のみをレジストリーにミラーリングできます。1 つのアーカイブに複数の OpenShift Container Platform リリースが含まれる場合がありますが、非接続環境またはエンクレーブではそのうちのいくつかのみミラーリングされる可能性があります。
-
エンクレーブにミラーリングするコンテンツを記述する
imageSetConfig
YAML ファイルを準備します。isc-enclave.yaml の例
apiVersion: mirror.openshift.io/v2alpha1 kind: ImageSetConfiguration mirror: platform: architectures: - "amd64" channels: - name: stable-4.15 minVersion: 4.15.2 maxVersion: 4.15.2
非接続レジストリーにアクセスできるマシン上で、oc-mirror プラグイン v2 を実行する必要があります。上記の例では、非接続環境
enterprise-registry.in
にアクセスできます。グラフの URL を更新する
graph:true
を使用している場合、oc-mirror プラグイン v2 はcincinnati
API エンドポイントに到達しようとします。この環境は接続されていないため、OpenShift Update Service (OSUS) の URL を参照するためには環境変数UPDATE_URL_OVERRIDE
をエクスポートする必要があります。$ export UPDATE_URL_OVERRIDE=https://<osus.enterprise.in>/graph
OpenShift クラスターで OSUS を設定する方法の詳細は、「OpenShift Update Service を使用した非接続環境でのクラスターの更新」を参照してください。
注記OpenShift Container Platform の Extended Update Support (EUS) バージョン間で更新する場合は、現在のバージョンとターゲットバージョン間の中間マイナーバージョンのイメージも含める必要があります。oc-mirror プラグイン v2 は必ずしもこの要件を自動的に検出するとは限りません。そのため、Red Hat OpenShift Container Platform Update Graph ページ で、必要な中間バージョンを確認してください。
Update Graph ページを使用して、アプリケーションによって提案される中間マイナーバージョンを確認してください。また、oc-mirror プラグイン v2 を使用するときに、該当するバージョンをすべて
ImageSetConfiguration
ファイルに含めてください。エンクレーブのエンタープライズレジストリーからミラーアーカイブを生成します。
enclave1
のアーカイブを準備するには、ユーザーはそのエンクレーブ固有のimageSetConfiguration
を使用して、エンタープライズ非接続環境で oc-mirror プラグイン v2 を実行します。これにより、そのエンクレーブに必要なイメージのみがミラーリングされます。$ oc mirror --v2 -c isc-enclave.yaml file:///disk-enc1/
このアクションは、OpenShift Container Platform のすべてのコンテンツをアーカイブに収集し、ディスク上にアーカイブを生成します。
-
生成されたアーカイブは、
enclave1
ネットワークに転送されます。トランスポートメカニズムは、oc-mirror プラグイン v2 の責任にはあたりません。 エンクレーブレジストリーにコンテンツをミラーリングする
アーカイブの転送が完了すると、ユーザーは関連するアーカイブの内容をレジストリーにミラーリングするために、oc-mirror プラグイン v2 を再度実行できます。
$ oc mirror --v2 -c isc-enclave.yaml --from file://local-disk docker://registry.enc1.in
これで、
enclave1
の OpenShift Container Platform クラスターの管理者が、そのクラスターをインストールまたはアップグレードする準備が整いました。
3.5.9. Operator カタログでのフィルタリング
oc-mirror プラグイン v2 は、imageSetConfig
の情報を処理することで、ミラーリングするバンドルのリストを選択します。
oc-mirror プラグイン v2 は、ミラーリングするバンドルを選択するときに、Group Version Kind (GVK) またはバンドルの依存関係を推測せず、それらをミラーリングセットから除外します。代わりに、ユーザーの指示に厳密に従います。必要な依存関係パッケージとそのバージョンを明示的に指定する必要があります。
通常、バンドルバージョンではセマンティックバージョニングの標準 (SemVer) が使用され、チャネル内のバンドルをバージョン別に並べ替えることができます。ImageSetConfig
で特定の範囲内のバンドルを選択できます。
この選択アルゴリズムにより、oc-mirror プラグイン v1 と比較して一貫性のある結果を得ることができます。ただし、replaces
、skip
、skipRange
などのアップグレードグラフの詳細は含まれません。このアプローチは OLM アルゴリズムとは異なります。minVersion
と maxVersion
の間のアップグレードパスが短くなる可能性があるため、クラスターのアップグレードに必要な数よりも多くのバンドルがミラーリングされる可能性があります。
ImageSetConfig Operator のフィルタリング | 予想されるバンドルバージョン |
---|---|
シナリオ 1 mirror: operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.10 | カタログ内の各パッケージに対し、そのパッケージのデフォルトチャネルのヘッドバージョンに対応する 1 つのバンドル。 |
シナリオ 2 mirror: operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.10 full: true | 指定されたカタログのすべてのチャネルのすべてのバンドル |
シナリオ 3 mirror: operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.10 packages: - name: compliance-operator | そのパッケージのデフォルトチャネルのヘッドバージョンに対応する 1 つのバンドル |
シナリオ 4 mirror: operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.10 full: true - packages: - name: elasticsearch-operator | 指定されたパッケージのすべてのチャネルのすべてのバンドル |
シナリオ 5 mirror: operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.15 packages: - name: compliance-operator minVersion: 5.6.0 |
|
シナリオ 6 mirror: operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.15 packages: - name: compliance-operator maxVersion: 6.0.0 |
そのパッケージの |
シナリオ 7 mirror: operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.15 packages: - name: compliance-operator minVersion: 5.6.0 maxVersion: 6.0.0 |
そのパッケージの |
シナリオ 8 mirror: operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.15 packages: - name: compliance-operator channels - name: stable | そのパッケージの選択されたチャネルのヘッドバンドル。 |
シナリオ 9 mirror: operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.10 full: true - packages: - name: elasticsearch-operator channels: - name: 'stable-v0' | 指定されたパッケージとチャネルのすべてのバンドル。 |
シナリオ 10 mirror: operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.15 packages: - name: compliance-operator channels - name: stable - name: stable-5.5 | そのパッケージの選択された各チャネルのヘッドバンドル。 |
シナリオ 11 mirror: operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.15 packages: - name: compliance-operator channels - name: stable minVersion: 5.6.0 |
そのパッケージの選択されたチャネル内の、 |
シナリオ 12 mirror: operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.15 packages: - name: compliance-operator channels - name: stable maxVersion: 6.0.0 |
そのパッケージの選択されたチャネル内の、 |
シナリオ 13 mirror: operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.15 packages: - name: compliance-operator channels - name: stable minVersion: 5.6.0 maxVersion: 6.0.0 |
そのパッケージの選択されたチャネル内の、アップグレードグラフからの最短パスに依存しない、 |
シナリオ 14 mirror: operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.14 packages: - name: aws-load-balancer-operator bundles: - name: aws-load-balancer-operator.v1.1.0 - name: 3scale-operator bundles: - name: 3scale-operator.v0.10.0-mas | 各パッケージに指定されたバンドルのみがフィルタリングに含まれます。 |
シナリオ 15 mirror: operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.15 packages: - name: compliance-operator channels - name: stable minVersion: 5.6.0 maxVersion: 6.0.0 |
このシナリオは使用しないでください。チャネルでのフィルタリング、および |
シナリオ 16 mirror: operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.15 packages: - name: compliance-operator channels - name: stable minVersion: 5.6.0 maxVersion: 6.0.0 |
このシナリオは使用しないでください。 |
シナリオ 17 mirror: operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.15 full: true packages: - name: compliance-operator channels - name: stable minVersion: 5.6.0 maxVersion: 6.0.0 |
このシナリオは使用しないでください。 |
3.5.10. oc-mirror プラグイン v2 の ImageSet
設定パラメーター
oc-mirror プラグイン v2 には、ミラーリングするイメージを定義するイメージセット設定ファイルが必要です。次の表に、ImageSetConfiguration
リソースで使用可能なパラメーターを示します。
minVersion
および maxVersion
プロパティーを使用して特定の Operator バージョン範囲をフィルターすると、複数のチャネルヘッドエラーが発生する可能性があります。エラーメッセージには、multiple channel heads
があることが示されます。これは、フィルターを適用すると、Operator の更新グラフが切り捨てられるためです。
OLM の要件として、すべての Operator チャネルに、1 つのエンドポイント (つまり最新バージョンの Operator) を持つ更新グラフを構成するバージョンが含まれている必要があります。フィルター範囲を適用すると、更新グラフが 2 つ以上の個別のグラフ、または複数のエンドポイントを持つグラフに変換されることがあります。
このエラーを回避するには、最新バージョンの Operator を除外しないでください。それでもエラーが発生する場合は、Operator に応じて、maxVersion
プロパティーを増やすか、minVersion
プロパティーを減らす必要があります。Operator グラフはそれぞれ異なる可能性があるため、エラーが解決するまでこれらの値を調整する必要がある場合があります。
パラメーター | 説明 | 値 |
---|---|---|
|
|
文字列の例: |
| イメージセット内の各アーカイブファイルの最大サイズ (GiB 単位)。 |
整数の例: |
|
|
ブール値のサンプル apiVersion: mirror.openshift.io/v2alpha1 kind: ImageSetConfiguration mirror: platform: channels: - name: stable-4.16 minVersion: 4.16.0 maxVersion: 4.16.0 kubeVirtContainer: true |
| イメージセットの設定。 | オブジェクト |
| イメージセットの追加のイメージ設定。 | オブジェクトの配列 以下に例を示します。 additionalImages: - name: registry.redhat.io/ubi8/ubi:latest |
| ミラーリングするイメージのタグまたはダイジェスト。 |
文字列の例: |
| ミラーリングからブロックするイメージの完全なタグ、ダイジェスト、またはパターン。 |
文字列配列の例: |
| イメージセットの Operators 設定。 | オブジェクトの配列 以下に例を示します。 operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:4.17 packages: - name: elasticsearch-operator minVersion: '2.4.0' |
| イメージセットに含める Operator カタログ。 |
文字列の例: |
|
|
ブール値。デフォルト値は |
| Operator パッケージ設定 | オブジェクトの配列 以下に例を示します。 operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:4.17 packages: - name: elasticsearch-operator minVersion: '5.2.3-31' |
| イメージセットに含める Operator パッケージ名 |
文字列の例: |
| Operator パッケージのチャネル設定。 | オブジェクト |
| イメージセットに含める、パッケージ内で一意の Operator チャネル名。 |
文字列の例: |
| Operator が存在するすべてのチャネルでミラーリングする最上位バージョンの Operator。 |
文字列の例: |
| 存在するすべてのチャネル間でミラーリングする Operator の最低バージョン。 |
文字列の例: |
| Operator が存在するすべてのチャネルでミラーリングする最上位バージョンの Operator。 |
文字列の例: |
| 存在するすべてのチャネル間でミラーリングする Operator の最低バージョン。 |
文字列の例: |
| 選択したバンドルの設定 | オブジェクトの配列 以下に例を示します。 operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:4.17 packages: - name: 3scale-operator bundles: - name: 3scale-operator.v0.10.0-mas |
| ミラーリング対象として選択されたバンドルの名前 (カタログに表示される名前)。 |
文字列の例: |
| 参照されるカタログをミラーリングするための代替名とオプションの namespace 階層。 |
文字列の例: |
| oc-mirror プラグイン v2 が生成した catalogSource カスタムリソースを完了するために使用するテンプレートのディスク上のパス。 |
文字列の例: apiVersion: operators.coreos.com/v1alpha1 kind: CatalogSource metadata: name: discarded namespace: openshift-marketplace spec: image: discarded sourceType: grpc updateStrategy: registryPoll: interval: 30m0s |
|
|
文字列の例: |
| イメージセットのプラットフォーム設定。 | オブジェクト |
| ミラーリングするプラットフォームリリースペイロードのアーキテクチャー。 | 文字列の配列例: architectures: - amd64 - arm64 - multi - ppc64le - s390x
デフォルト値は |
| イメージセットのプラットフォームチャネル設定。 | オブジェクトの配列の例: channels: - name: stable-4.12 - name: stable-4.17 |
|
|
ブール値。デフォルト値は |
| リリースチャネルの名前。 |
文字列の例: |
| ミラーリングされる参照プラットフォームの最小バージョン。 |
文字列の例: |
| ミラーリングされる参照プラットフォームの最上位バージョン。 |
文字列の例: |
| 最短パスミラーリングまたはフルレンジミラーリングを切り替えます。 |
ブール値。デフォルト値は |
| ミラーリングするプラットフォームのタイプ。 |
文字列の例: |
| OSUS グラフがイメージセットに追加され、その後ミラーに公開されるかどうかを示します。 |
ブール値。デフォルト値は |
3.5.10.1. ImageSet
設定パラメーターを削除する
oc-mirror プラグイン v2 を使用するには、ミラーレジストリーから削除するイメージを定義するイメージセット削除設定ファイルが必要です。次の表は、DeleteImageSetConfiguration
リソースで使用可能なパラメーターを示しています。
パラメーター | 説明 | 値 |
---|---|---|
|
|
文字列の例: |
| 削除するイメージセットの設定。 | オブジェクト |
| 削除イメージセットの追加イメージ設定。 | オブジェクトの配列の例: additionalImages: - name: registry.redhat.io/ubi8/ubi:latest |
| 削除するイメージのタグまたはダイジェスト。 |
文字列の例: |
| 削除イメージセットの Operator の設定。 | オブジェクトの配列の例: operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:{product-version} packages: - name: elasticsearch-operator minVersion: '2.4.0' |
| 削除イメージセットに含める Operator カタログ。 |
文字列の例: |
| true の場合、完全なカタログ、Operator パッケージ、または Operator チャネルが削除されます。 |
ブール値。デフォルト値は |
| Operator パッケージ設定 | オブジェクトの配列の例: operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:{product-version} packages: - name: elasticsearch-operator minVersion: '5.2.3-31' |
| 削除イメージセットに含める Operator パッケージ名。 |
文字列の例: |
| Operator パッケージのチャネル設定。 | オブジェクト |
| 削除イメージセットに含める、パッケージ内で一意の Operator チャネル名。 |
文字列の例: |
| 選択したチャネル内で削除する Operator の最大バージョン。 |
文字列の例: |
| Operator が存在する選択範囲内で削除する Operator の最小バージョン。 |
文字列の例: |
| Operator が存在するすべてのチャネルで削除する最大バージョンの Operator。 |
文字列の例: |
| Operator が存在するすべてのチャネルで削除する最小バージョンの Operator。 |
文字列の例: |
| 選択したバンドル設定 | オブジェクトの配列 同じ Operator に対してチャネルとバンドルの両方を選択することはできません。 以下に例を示します。 operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:{product-version} packages: - name: 3scale-operator bundles: - name: 3scale-operator.v0.10.0-mas |
| 削除対象として選択したバンドルの名前 (カタログに表示される名前) |
文字列の例: |
| イメージセットのプラットフォーム設定。 | オブジェクト |
| 削除するプラットフォームリリースペイロードのアーキテクチャー。 | 文字列の配列例: architectures: - amd64 - arm64 - multi - ppc64le - s390x
デフォルト値は |
| イメージセットのプラットフォームチャネル設定。 | オブジェクトの配列 以下に例を示します。 channels: - name: stable-4.12 - name: stable-4.17 |
|
|
ブール値。デフォルト値は |
| リリースチャネルの名前。 |
文字列の例: |
| 削除する参照プラットフォームの最小バージョン。 |
文字列の例: |
| 削除する参照プラットフォームの最大バージョン。 |
文字列の例: |
| 最短パスの削除と全範囲の削除を切り替えます。 |
ブール値。デフォルト値は |
| 削除するプラットフォームのタイプ |
文字列の例: |
| ミラーレジストリー上の OSUS グラフも削除するかどうかを指定します。 |
ブール値。デフォルト値は |
3.5.11. oc-mirror プラグイン v2 のコマンドリファレンス
次の表は、oc-mirror プラグイン v2 の oc mirror
サブコマンドとフラグを説明しています。
サブコマンド | 説明 |
---|---|
| サブコマンドに関するヘルプを表示します。 |
| oc-mirror バージョンを出力します。 |
| リモートレジストリーとローカルキャッシュ内のイメージを削除します。 |
フラグ | 説明 |
---|---|
|
認証ファイルの文字列パスを表示します。デフォルトは |
| イメージセット設定ファイルへのパスを指定します。 |
| コンテナーレジストリーまたはデーモンにアクセスするには HTTPS が必要であり、証明書が検証されます。 |
| イメージをミラーリングせずにアクションを出力します。 |
| oc-mirror プラグイン v2 を実行してターゲットレジストリーをロードすることで生成されたイメージセットアーカイブへのパスを指定します。 |
| ヘルプを表示します。 |
|
文字列のログレベルを表示します。サポートされる値には、info、debug、trace、error などがあります。デフォルトは |
|
oc-mirror プラグイン v2 のローカルストレージインスタンスが使用する HTTP ポートを指定します。デフォルトは |
|
ネストされたパスを制限する宛先レジストリーのネストされたパスの最大数を指定します。デフォルトは |
|
デフォルト値は |
|
指定した日付以降のすべての新しいコンテンツが含まれます (形式: |
| コンテナーレジストリーまたはデーモンにアクセスするには HTTPS が必要であり、証明書が検証されます。 |
|
デフォルト値は |
| oc-mirror プラグイン v2 のバージョンを表示します。 |
| リソースと内部アーティファクトが生成される文字列 oc-mirror プラグイン v2 ワークスペースを指定します。 |
3.5.12. 次のステップ
oc-mirror プラグイン v2 を使用して非接続環境にイメージをミラーリングしたら、次のアクションを実行できます。