6.8. イメージとイメージストリームのインポートと操作
次のセクションでは、イメージストリームをインポートして操作する方法を説明します。
6.8.1. プライベートレジストリーからのイメージおよびイメージストリームのインポート リンクのコピーリンクがクリップボードにコピーされました!
外部ソースからコンテンツを安全に管理するには、認証が必要なプライベートレジストリーからタグおよびイメージメタデータをインポートするようにイメージストリームを設定します。この手順は、Cluster Samples Operator がデフォルトの registry.redhat.io 以外にコンテンツをプルするために使用するレジストリーを変更する場合に必要です。
セキュアでないレジストリーからインポートする場合には、シークレットに定義されたレジストリーの URL に :80 ポートの接尾辞を追加するようにしてください。追加していない場合にレジストリーからインポートしようとすると、このシークレットは使用されません。
手順
以下のコマンドを入力して、認証情報を保存するために使用する
secretオブジェクトを作成する必要があります。$ oc create secret generic <secret_name> --from-file=.dockerconfigjson=<file_absolute_path> --type=kubernetes.io/dockerconfigjsonシークレットが設定されたら、新規イメージストリームを作成するか、
oc import-imageコマンドを入力します。$ oc import-image <imagestreamtag> --from=<image> --confirmインポートプロセスで OpenShift Container Platform はシークレットを取得してリモートパーティーに提供します。
6.8.2. マニフェストリストの操作 リンクのコピーリンクがクリップボードにコピーされました!
マニフェストリストに含まれるマルチアーキテクチャーまたはバリアントイメージを正確に管理するには、oc import-image または oc tag CLI コマンドで --import-mode フラグを使用します。この機能により、単一のサブマニフェストまたはすべてのマニフェスト(マニフェストリストの)をインポートし、イメージストリームのコンテンツを詳細に制御することができます。
場合によっては、ユーザーがサブマニフェストを直接使用したい場合があります。oc adm prune images が実行されている場合、または CronJob プルーナーが実行されている場合、サブマニフェストリストが使用されていることを検出できません。その結果、oc adm prune images または CronJob プルーナーを使用する管理者は、サブマニフェストを含むマニフェストリスト全体を削除する可能性があります。
この制限を回避するには、代わりにタグ別またはダイジェスト別のマニフェストリストを使用できます。
手順
次のコマンドを入力して、マルチアーキテクチャーイメージを含むイメージストリームを作成し、インポートモードを
PreserveOriginalに設定します。$ oc import-image <multiarch-image-stream-tag> --from=<registry>/<project_name>/<image-name> \ --import-mode='PreserveOriginal' --reference-policy=local --confirm出力例
--- Arch: <none> Manifests: linux/amd64 sha256:6e325b86566fafd3c4683a05a219c30c421fbccbf8d87ab9d20d4ec1131c3451 linux/arm64 sha256:d8fad562ffa75b96212c4a6dc81faf327d67714ed85475bf642729703a2b5bf6 linux/ppc64le sha256:7b7e25338e40d8bdeb1b28e37fef5e64f0afd412530b257f5b02b30851f416e1 ---または、次のコマンドを入力して、マニフェストリストを破棄し、単一のサブマニフェストをインポートする
Legacyインポートモードでイメージをインポートします。$ oc import-image <multiarch-image-stream-tag> --from=<registry>/<project_name>/<image-name> \ --import-mode='Legacy' --confirm注記--import-mode=のデフォルト値はLegacyです。この値を除外するか、LegacyまたはPreserveOriginalのいずれかを指定しないと、単一のサブマニフェストがインポートされます。無効なインポートモードは次のエラーを返します:error: valid ImportMode values are Legacy or PreserveOriginal。
6.8.2.1. マニフェストリストの定期的なインポートの設定 リンクのコピーリンクがクリップボードにコピーされました!
複雑なマルチアーキテクチャーイメージの最新のイメージ参照を維持するには、マニフェストリストの定期的なインポートを設定します。マニフェストリストを定期的に再インポートするには、スケジュールされ たフラグを使用し、イメージストリームが外部レジストリーからの最新バージョンを確実に追跡できるようにします。
手順
次のコマンドを入力して、マニフェストリストを定期的に更新するようにイメージストリームを設定します。
$ oc import-image <multiarch-image-stream-tag> --from=<registry>/<project_name>/<image-name> \ --import-mode='PreserveOriginal' --scheduled=true
6.8.2.2. マニフェストリストのインポート時の SSL/TLS の設定 リンクのコピーリンクがクリップボードにコピーされました!
外部リポジトリーからソースされるマニフェストの接続セキュリティーおよびアクセスポリシーを制御するには、イメージのインポート中に SSL/TLS 設定を行います。マニフェストリストのインポート時に SSL/TLS を設定するには、- insecure フラグを使用して、必要に応じて標準の証明書の検証要件をバイパスできます。
手順
set--
insecure=trueにより、マニフェストリストのインポートで SSL/TLS 検証がスキップされます。以下に例を示します。$ oc import-image <multiarch-image-stream-tag> --from=<registry>/<project_name>/<image-name> \ --import-mode='PreserveOriginal' --insecure=true
6.8.3. --import-mode のアーキテクチャーの指定 リンクのコピーリンクがクリップボードにコピーされました!
インポートしたイメージのアーキテクチャーを制御し、適切なデプロイメントを確保するには、the --import-mode= フラグを使用します。必要に応じて the-import- mode= フラグを除外または含めることで、インポート したイメージストリームをマルチアーキテクチャーとシングルアーキテクチャーの間で交換できます。
手順
次のコマンドを実行して、
--import-mode=フラグを除外して、イメージストリームをマルチアーキテクチャーからシングルアーキテクチャーに更新します。$ oc import-image <multiarch-image-stream-tag> --from=<registry>/<project_name>/<image-name>次のコマンドを実行して、イメージストリームをシングルアーキテクチャーからマルチアーキテクチャーに更新します。
$ oc import-image <multiarch_image_stream_tag> --from=<registry>/<project_name>/<image_name> \ --import-mode='PreserveOriginal'
6.8.4. --import-mode の設定フィールド リンクのコピーリンクがクリップボードにコピーされました!
the- import-mode フラグを使用してマルチアーキテクチャーイメージ管理を実装するには、必要な設定フィールドを参照します。これらのフィールドは、特定のマニフェストを選択して OpenShift Container Platform クラスターにインポートするための正確なパラメーターを定義します。
次の表に、--import-mode= フラグで使用できるオプションを示します。
| パラメーター | 説明 |
|---|---|
| レガシー |
|
| PreserveOriginal | 指定すると、元のマニフェストが保持されます。マニフェスト一覧の場合は、マニフェストの一覧とそのすべてのサブマニフェストがインポートされます。 |