5.4. イメージセットをミラーレジストリーにミラーリングする
イメージセットをミラーレジストリーにミラーリングすると、必要なイメージがセキュアで制御された環境で利用できるようになるため、デプロイメント、更新、メンテナンスのタスクがスムーズになります。
5.4.1. イメージセット設定のビルド リンクのコピーリンクがクリップボードにコピーされました!
oc-mirror プラグイン v2 は、イメージセット設定を入力ファイルとして使用して、ミラーリングに必要なイメージを決定します。
ImageSetConfiguration 入力ファイルの例
kind: ImageSetConfiguration
apiVersion: mirror.openshift.io/v2alpha1
mirror:
platform:
channels:
- name: stable-4.13
minVersion: 4.13.10
maxVersion: 4.13.10
graph: true
operators:
- catalog: registry.redhat.io/redhat/redhat-operator-index:v4.15
packages:
- name: aws-load-balancer-operator
- name: 3scale-operator
- name: node-observability-operator
additionalImages:
- 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
- イメージセットに含める追加のイメージを指定します。注記
oc-mirror プラグイン v2 では、
additionalImagesにリストされているすべてのイメージに明示的なレジストリーホスト名を使用する必要があります。それ以外の場合、イメージは誤ったターゲットパスにミラーリングされます。
5.4.2. 部分的な非接続環境でのイメージセットのミラーリング リンクのコピーリンクがクリップボードにコピーされました!
インターネットアクセスが制限されている環境では、oc-mirror プラグイン v2 を使用してイメージセットをレジストリーにミラーリングできます。
前提条件
- インターネット接続があり、oc-mirror プラグイン v2 を実行している環境内のミラーレジストリーにアクセスできる。
手順
次のコマンドを実行して、指定されたイメージセット設定から指定されたレジストリーにイメージをミラーリングします。
$ oc mirror -c isc.yaml --workspace file://<file_path> docker://<mirror_registry_url> --v21 - 1
- イメージの保存先であり、そこからイメージを削除する必要があるミラーレジストリーの URL またはアドレスを指定します。
検証
-
<file_path>ディレクトリーに生成されたworking-dirディレクトリー内のcluster-resourcesディレクトリーに移動します。 -
ImageDigestMirrorSet、ImageTagMirrorSet、CatalogSourceリソースの YAML ファイルが存在することを確認します。
次のステップ
- oc-mirror プラグイン v2 が生成したリソースを使用するようにクラスターを設定します。
5.4.3. 完全な非接続環境でのイメージセットのミラーリング リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform クラスターがパブリックインターネットにアクセスできない完全な非接続環境で、イメージセットをミラーリングできます。
- ディスクにミラーリングする: ミラーリングするイメージセットを含むアーカイブを準備します。インターネットアクセスは必要ありません。
- 手動手順: 非接続ミラーレジストリーのネットワークにアーカイブを転送します。
- ミラーリングするディスク: アーカイブからターゲットの非接続レジストリーにイメージセットをミラーリングするには、ミラーレジストリーにアクセスできる環境から oc-mirror プラグイン v2 を実行します。
5.4.3.1. ミラーからディスクへのミラーリング リンクのコピーリンクがクリップボードにコピーされました!
oc-mirror プラグイン v2 を使用して、イメージセットを生成し、コンテンツをディスクに保存できます。その後、生成されたイメージセットを非接続環境に転送し、ターゲットレジストリーにミラーリングできます。
oc-mirror プラグイン v2 は、イメージセット設定で指定されたソースからコンテナーイメージを取得し、ローカルディレクトリーの tar アーカイブにパックします。
手順
次のコマンドを実行して、指定されたイメージセット設定からディスクにイメージをミラーリングします。
$ oc mirror -c isc.yaml file://<file_path> --v21 - 1
- 必要なファイルパスを追加します。
検証
-
生成された
<file_path>ディレクトリーに移動します。 - アーカイブファイルが生成されたことを確認します。
次のステップ
- oc-mirror プラグイン v2 が生成したリソースを使用するようにクラスターを設定します。
5.4.3.2. ディスクからミラーへのミラーリング リンクのコピーリンクがクリップボードにコピーされました!
oc-mirror プラグイン v2 を使用して、ディスクからターゲットミラーレジストリーにイメージセットをミラーリングできます。
oc-mirror プラグイン v2 は、ローカルディスクからコンテナーイメージを取得し、指定されたミラーレジストリーに転送します。
手順
次のコマンドを実行して、ディスク上のイメージセットファイルを処理し、その内容をターゲットミラーレジストリーにミラーリングします。
$ oc mirror -c isc.yaml --from file://<file_path> docker://<mirror_registry_url> --v21 - 1
- イメージの保存先であり、そこからイメージを削除する必要があるミラーレジストリーの URL またはアドレスを指定します。
検証
-
<file_path>ディレクトリーに生成されたworking-dirディレクトリー内のcluster-resourcesディレクトリーに移動します。 -
ImageDigestMirrorSet、ImageTagMirrorSet、CatalogSourceリソースの YAML ファイルが存在することを確認します。
次のステップ
- oc-mirror プラグイン v2 が生成したリソースを使用するようにクラスターを設定します。