5.8. エンクレーブサポートの利点
エンクレーブサポートは、ネットワークの特定部分への内部アクセスを制限します。ファイアウォール境界を通過する受信トラフィックおよび送信トラフィックのアクセスを許可する非武装地帯 (DMZ) ネットワークとは異なり、エンクレーブはファイアウォール境界を越えません。
新しいエンクレーブサポート機能は、少なくとも 1 つの中間非接続ネットワークの背後で保護された複数のエンクレーブのミラーリングが必要な場合に使用します。
エンクレーブサポートには次の利点があります。
- 複数のエンクレーブのコンテンツをミラーリングし、単一の内部レジストリーに集約できます。ミラーリングされたコンテンツに対してセキュリティーチェックを実行する必要がある場合もありますが、そのようなチェックもこのセットアップですべて一度に実行できます。その後、コンテンツはダウンストリームのエンクレーブにミラーリングされる前に検査されます。
- 各エンクレーブに対してインターネットからミラーリングプロセスを再開することなく、集約された内部レジストリーからエンクレーブにコンテンツを直接ミラーリングできます。
- ネットワークステージ間のデータ転送を最小限に抑え、ステージ間で Blob またはイメージが 1 回だけ転送されるようにできます。
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 を使用することを強調しています。
5.8.2. エンクレーブへのミラーリング リンクのコピーリンクがクリップボードにコピーされました!
エンクレーブにミラーリングする場合は、まず 1 つ以上のエンクレーブから必要なイメージをエンタープライズ集約レジストリーに転送する必要があります。
中央レジストリーは、セキュアなネットワーク内 (具体的には非接続環境内) に配置されており、パブリックインターネットに直接リンクされていません。ただしユーザーは、パブリックインターネットにアクセスできる環境で oc mirror を実行する必要があります。
手順
非接続環境で oc-mirror プラグイン v2 を実行する前に、
registries.confファイルを作成します。ファイルの TOML 形式は、この仕様で説明されています。注記ファイルは、
$HOME/.config/containers/registries.confまたは/etc/containers/registries.confに保存することが推奨されます。registries.confの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow ミラーアーカイブを生成します。
すべての OpenShift Container Platform コンテンツを
<file_path>/enterprise-content配下のディスクのアーカイブに収集するには、次のコマンドを実行します。oc mirror --v2 -c isc.yaml file://<file_path>/enterprise-content
$ oc mirror --v2 -c isc.yaml file://<file_path>/enterprise-contentCopy to Clipboard Copied! Toggle word wrap Toggle overflow isc.yaml の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 生成されたアーカイブは、非接続環境に転送されます。トランスポートメカニズムは、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>/
$ oc mirror --v2 -c isc.yaml --from file://<disconnected_environment_file_path>/enterprise-content docker://<enterprise_registry.in>/Copy to Clipboard Copied! Toggle word wrap Toggle overflow ここでは、以下のようになります。
-
--fromは、アーカイブを含むフォルダーを指します。file://で始まります。 -
docker://はミラーリングの宛先であり、最後の引数です。Docker レジストリーであるため、そのようになります。 -
-c(--config) は必須の引数です。これにより、oc-mirror プラグイン v2 は最終的にアーカイブのサブ部分のみをレジストリーにミラーリングできます。1 つのアーカイブに複数の OpenShift Container Platform リリースが含まれる場合がありますが、非接続環境またはエンクレーブではそのうちのいくつかのみミラーリングされる可能性があります。
-
エンクレーブにミラーリングするコンテンツを記述する
imageSetConfigYAML ファイルを準備します。isc-enclave.yaml の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 非接続レジストリーにアクセスできるマシン上で、oc-mirror プラグイン v2 を実行する必要があります。上記の例では、非接続環境
enterprise-registry.inにアクセスできます。グラフの URL を更新する
graph:trueを使用している場合、oc-mirror プラグイン v2 はcincinnatiAPI エンドポイントに到達しようとします。この環境は接続されていないため、OpenShift Update Service (OSUS) の URL を参照するためには環境変数UPDATE_URL_OVERRIDEをエクスポートする必要があります。export UPDATE_URL_OVERRIDE=https://<osus.enterprise.in>/graph
$ export UPDATE_URL_OVERRIDE=https://<osus.enterprise.in>/graphCopy to Clipboard Copied! Toggle word wrap Toggle overflow 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
$ oc mirror --v2 -c isc-enclave.yaml file:///disk-enc1/Copy to Clipboard Copied! Toggle word wrap Toggle overflow このアクションは、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
$ oc mirror --v2 -c isc-enclave.yaml --from file://local-disk docker://registry.enc1.inCopy to Clipboard Copied! Toggle word wrap Toggle overflow これで、
enclave1の OpenShift Container Platform クラスターの管理者が、そのクラスターをインストールまたはアップグレードする準備が整いました。