This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.7.2. イメージ設定内容の設定
				image.config.openshift.io/cluster リソースを編集してイメージレジストリーの設定を行うことができます。Machine Config Operator (MCO) は、レジストリーへの変更について image.config.openshift.io/cluster を監視し、変更を検出するとノードを再起動します。
			
手順
- image.config.openshift.io/clusterカスタムリソースを編集します。- oc edit image.config.openshift.io/cluster - $ oc edit image.config.openshift.io/cluster- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 以下は、 - image.config.openshift.io/clusterリソースの例になります。- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- Image: イメージの処理方法についてのクラスター全体の情報を保持します。正規名および唯一の有効な名前となるのは- clusterです。
- 2
- allowedRegistriesForImport: 標準ユーザーがイメージのインポートに使用するコンテナーイメージレジストリーを制限します。この一覧を、有効なイメージを含むものとしてユーザーが信頼し、アプリケーションのインポート元となるレジストリーに設定します。イメージまたは- ImageStreamMappingsを API 経由で作成するパーミッションを持つユーザーは、このポリシーによる影響を受けません。通常、これらのパーミッションを持っているのはクラスター管理者のみです。
- 3
- additionalTrustedCA:- ImageStream import、- pod image pull、- openshift-image-registry pullthrough、およびビルドの処理時に信頼される必要のある追加の CA が含まれる ConfigMap の参照です。この ConfigMap の namespace は- openshift-configです。ConfigMap の形式では、信頼する追加のレジストリー CA についてレジストリーのホスト名をキーとして使用し、PEM 証明書を値として使用します。
- 4
- registrySources: コンテナーランタイムがビルドおよび Pod のイメージへのアクセス時に個々のレジストリーを処理する方法を決定する設定が含まれます。たとえば、非セキュアなアクセスを許可するかどうかを設定します。内部クラスターレジストリーの設定は含まれません。
- 5
- insecureRegistries: 有効な TLS 証明書を持たないか、または HTTP 接続のみをサポートするレジストリーです。
- 6
- blockedRegistries: イメージのプルおよびプッシュアクションについてブラックリスト化されます。他のすべてのレジストリーは許可されます。
 
7.2.1. イメージレジストリーアクセス用の追加のトラストストアの設定
					image.config.openshift.io/cluster リソースには、イメージレジストリーのアクセス時に信頼される追加の認証局が含まれる ConfigMap への参照を含めることができます。
				
前提条件
- CA は PEM でエンコードされている必要があります。
手順
						ConfigMap を openshift-config namespace に作成し、その名前を image.config.openshift.io リソースの AdditionalTrustedCA で使用し、追加の CA を指定することができます。
					
ConfigMap キーは、この CA が信頼されるポートを持つレジストリーのホスト名であり、base64 エンコード証明書が信頼する追加の各レジストリー CA についての値になります。
イメージレジストリー CA の ConfigMap の例
- 1
- レジストリーにポートがある場合 (例:registry-with-port.example.com:5000)、「:」は..に置き換える必要があります。
以下の手順で追加の CA を設定することができます。
- 追加の CA を設定するには、以下を実行します。 - oc create configmap registry-config --from-file=<external_registry_address>=ca.crt -n openshift-config oc edit image.config.openshift.io cluster - $ oc create configmap registry-config --from-file=<external_registry_address>=ca.crt -n openshift-config $ oc edit image.config.openshift.io cluster spec: additionalTrustedCA: name: registry-config- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
7.2.2. 非セキュアなレジストリーのインポートとレジストリーのブロック
					image.config.openshift.io/cluster カスタムリソース (CR) を編集して、非セキュアなレジストリーを追加するか、レジストリーをブロックできます。OpenShift Container Platform は、この CR への変更をクラスター内のすべてのノードに適用します。
				
有効な TLS 証明書を持たない、または HTTP 接続のみをサポートするレジストリーなど、非セキュアな外部レジストリーは使用しないでください。
手順
- image.config.openshift.io/clusterカスタムリソースを編集します。- oc edit image.config.openshift.io/cluster - $ oc edit image.config.openshift.io/cluster- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 以下は、 - image.config.openshift.io/clusterリソースの例になります。- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- 非セキュアなレジストリーを指定します。
- 2
- イメージのプルおよびプッシュアクションについてブラックリストに指定する必要のあるレジストリーを指定します。他のすべてのレジストリーは許可されます。blockedRegistriesまたはallowedRegistriesのいずれかを設定できますが、両方を設定することはできません。
- 3
- イメージのプルおよびプッシュアクションについて許可する必要のあるレジストリーを指定します。他のすべてのレジストリーは拒否されます。blockedRegistriesまたはallowedRegistriesのいずれかを設定できますが、両方を設定することはできません。
 - Machine Config Operator (MCO) は、レジストリーへの変更について - image.config.openshift.io/clusterを監視し、変更を検出するとノードを再起動します。レジストリーへの変更は、各ノードの /host/etc/containers/registries.conf ファイルに表示されます。- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
7.2.3. イメージレジストリーのリポジトリーミラーリングの設定
コンテナーレジストリーのリポジトリーミラーリングの設定により、以下が可能になります。
- ソースイメージのレジストリーのリポジトリーからイメージをプルする要求をリダイレクトするように OpenShift Container Platform クラスターを設定し、これをミラーリングされたイメージレジストリーのリポジトリーで解決できるようにします。
- 各ターゲットリポジトリーに対して複数のミラーリングされたリポジトリーを特定し、1 つのミラーがダウンした場合に別のミラーを使用できるようにします。
以下は、OpenShift Container Platform のリポジトリーミラーリングの属性の一部です。
- イメージプルには、レジストリーのダウンタイムに対する回復性があります
- ネットワークが制限された環境のクラスターは、重要な場所 (quay.io など) からイメージをプルするように要求でき、会社のファイアウォールの背後にあるレジストリーが要求されたイメージを提供するようにできます。
- イメージのプル要求時にレジストリーへの接続が特定の順序で試行され、通常は永続レジストリーが最後に試行されます。
- 
							入力したミラー情報は、OpenShift Container Platform クラスターの全ノードの /etc/containers/registries.confファイルに追加されます。
- ノードがソースリポジトリーからイメージの要求を行うと、要求されたコンテンツを見つけるまで、ミラーリングされた各リポジトリーに対する接続を順番に試行します。すべてのミラーで障害が発生した場合、クラスターはソースリポジトリーに対して試行します。成功すると、イメージはノードにプルされます。
リポジトリーミラーリングのセットアップは次の方法で実行できます。
- OpenShift Container Platform インストール時: OpenShift Container Platform が必要とするコンテナーイメージをプルし、それらのイメージを会社のファイアウォールの内側に配置すると、制限されたネットワーク内にあるデータセンターに OpenShift Container Platform をインストールできます。詳細は、OpenShift Container Platform イメージレジストリーのミラーリングについて参照してください。
- 
							OpenShift Container Platform のインストール後: OpenShift Container Platform インストール時にミラーリングを設定しなくても、ImageContentSourcePolicyオブジェクトを使用して後で設定することができます。
					以下の手順では、インストール後のミラーを設定し、以下を識別する ImageContentSourcePolicy オブジェクトを作成します。
				
- ミラーリングするコンテナーイメージリポジトリーのソース
- ソースリポジトリーから要求されたコンテンツを提供する各ミラーリポジトリーの個別のエントリー。
前提条件
- 
							cluster-adminロールを持つユーザーとしてのクラスターへのアクセスがあること。
手順
- ミラーリングされたリポジトリーを設定します。これを実行するには、以下のいずれかを行います。 - 「Repository Mirroring in Red Hat Quay」で説明されているように、Red Hat Quay でミラーリングされたリポジトリーを設定します。Red Hat Quay を使用すると、あるリポジトリーから別のリポジトリーにイメージをコピーでき、これらのリポジトリーを一定期間繰り返し自動的に同期することもできます。
- skopeoなどのツールを使用して、ソースディレクトリーからミラーリングされたリポジトリーにイメージを手動でコピーします。- たとえば、Red Hat Enterprise Linux (RHEL 7 または RHEL 8) システムに skopeo RPM パッケージをインストールした後、以下の例に示すように - skopeoコマンドを使用します。- skopeo copy \ docker://registry.access.redhat.com/ubi8/ubi-minimal@sha256:5cfbaf45ca96806917830c183e9f37df2e913b187adb32e89fd83fa455ebaa6 \ docker://example.io/ubi8/ubi-minimal - $ skopeo copy \ docker://registry.access.redhat.com/ubi8/ubi-minimal@sha256:5cfbaf45ca96806917830c183e9f37df2e913b187adb32e89fd83fa455ebaa6 \ docker://example.io/ubi8/ubi-minimal- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - この例では、 - example.ioいう名前のコンテナーイメージレジストリーと- exampleという名前のイメージリポジトリーがあり、そこに- registry.access.redhat.comから- ubi8/ubi-minimalイメージをコピーします。レジストリーを作成した後、OpenShift Container Platform クラスターを設定して、ソースリポジトリーで作成される要求をミラーリングされたリポジトリーにリダイレクトできます。
 
- OpenShift Container Platform クラスターにログインします。
- ImageContentSourcePolicyファイル (例:- registryrepomirror.yaml) を作成し、ソースとミラーを固有のレジストリー、およびリポジトリーのペアとイメージのものに置き換えます。- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 新しい - ImageContentSourcePolicyを作成します。- oc create -f registryrepomirror.yaml - $ oc create -f registryrepomirror.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - ImageContentSourcePolicyが作成されると、新しい設定が各ノードにデプロイされ、ソースリポジトリーへの要求のためにミラーリングされたリポジトリーの使用をすぐに開始します。
- ミラーリングされた設定が機能することを確認するには、ノードのいずれかに移動します。以下は例になります。 - ノードの一覧を表示します。 - oc get node - $ oc get node- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 出力例 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 変更が適用されているため、各ワーカーノードのスケジューリングが無効にされていることを確認できます。 
- デバッグプロセスを開始します。 - oc debug node/ip-10-0-147-35.ec2.internal - $ oc debug node/ip-10-0-147-35.ec2.internal- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 出力例 - Starting pod/ip-10-0-147-35ec2internal-debug ... To use host binaries, run `chroot /host` - Starting pod/ip-10-0-147-35ec2internal-debug ... To use host binaries, run `chroot /host`- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- ノードのファイルにアクセスします。 - chroot /host - sh-4.2# chroot /host- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- /etc/containers/registries.confファイルをチェックして、変更が行われたことを確認します。- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- ソースからノードにイメージダイジェストをプルし、ミラーによって実際に解決されているかどうかを確認します。 - ImageContentSourcePolicyはイメージダイジェストのみをサポートし、イメージタグはサポートしません。- podman pull --log-level=debug registry.access.redhat.com/ubi8/ubi-minimal@sha256:5cfbaf45ca96806917830c183e9f37df2e913b187adb32e89fd83fa455ebaa6 - sh-4.2# podman pull --log-level=debug registry.access.redhat.com/ubi8/ubi-minimal@sha256:5cfbaf45ca96806917830c183e9f37df2e913b187adb32e89fd83fa455ebaa6- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
リポジトリーのミラーリングのトラブルシューティング
リポジトリーのミラーリング手順が説明どおりに機能しない場合は、リポジトリーミラーリングの動作方法についての以下の情報を使用して、問題のトラブルシューティングを行うことができます。
- 最初に機能するミラーは、プルされるイメージを指定するために使用されます。
- メインレジストリーは、他のミラーが機能していない場合にのみ使用されます。
- 
							システムコンテキストによって、Insecureフラグがフォールバックとして使用されます。
- 
							/etc/containers/registriesファイルの形式が最近変更されました。現在のバージョンはバージョン 2 で、TOML 形式です。