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.9.2.4. イメージの短縮名を許可するレジストリーの追加
image.config.openshift.io/cluster カスタムリソース (CR) を編集して、イメージの短縮名を検索するためにレジストリーを追加できます。OpenShift Container Platform は、この CR への変更をクラスター内のすべてのノードに適用します。
イメージの短縮名を使用して、プル仕様に完全修飾ドメイン名を追加せずに、イメージを検索できます。たとえば、registry.access.redhat.com/rhe7/etcd の代わりに rhel7/etcd を使用できます。
完全パスを使用することが実際的ではない場合に、短縮名を使用できる場合があります。たとえば、クラスターが DNS が頻繁に変更される複数の内部レジストリーを参照する場合、毎回の変更ごとにプル仕様の完全修飾ドメイン名を更新する必要が生じる可能性があります。この場合は、イメージの短縮名を使用した方が良いでしょう。
イメージをプルまたはプッシュする場合、コンテナーランタイムは image.config.openshift.io/cluster CR の registrySources パラメーターの下に一覧表示されるレジストリーを検索します。短縮名を使用してイメージをプル際に、containerRuntimeSearchRegistries パラメーターでレジストリーの一覧を作成している場合、コンテナーランタイムはそれらのレジストリーを検索します。
パブリックレジストリーでイメージの短縮名を使用することは推奨されません。内部レジストリーまたはプライベートレジストリーでのみイメージの短縮名を使用する必要があります。
containerRuntimeSearchRegistries パラメーターにパブリックレジストリーを一覧表示する場合、一覧のすべてのレジストリーを公開することになり、ネットワークおよびレジストリーの攻撃にされされるリスクが生じます。パブリックレジストリーでは常に完全修飾イメージ名を使用する必要があります。
Machine Config Operator (MCO) は、image.config.openshift.io/cluster リソースでレジストリーへの変更の有無を監視します。MCO が変更を検出すると、これはノードをドレイン (解放) し、その変更を適用してノードの遮断を解除します。ノードが Ready 状態に戻った後に、containerRuntimeSearchRegistries パラメーターが追加されると、MCO は一覧表示されるレジストリーで各ノードの /etc/containers/registries.conf.d ディレクトリーにファイルを作成します。このファイルは、/host/etc/containers/registries.conf ファイルの非修飾検索レジストリーのデフォルト一覧を上書きします。修飾されていない検索レジストリーのデフォルト一覧にフォールバックする方法はありません。
containerRuntimeSearchRegistries パラメーターは、Podman および CRI-O コンテナーエンジンを使用する場合のみ機能します。一覧のレジストリーは、ビルドおよびイメージストリームではなく、Pod 仕様でのみ使用できます。
手順
image.config.openshift.io/clusterカスタムリソースを編集します。oc edit image.config.openshift.io/cluster
$ oc edit image.config.openshift.io/clusterCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下は、
image.config.openshift.io/clusterCR の例になります。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記allowedRegistriesパラメーターが定義されると、明示的に一覧表示されない限り、registry.redhat.ioレジストリーとquay.ioレジストリー、およびデフォルトの内部イメージレジストリーを含むすべてのレジストリーがブロックされます。このパラメーターを使用する場合は、Pod の失敗を防ぐために、registry.redhat.ioレジストリーとquay.ioレジストリー、およびinternalRegistryHostnameを含むすべてのレジストリーをallowedRegistries一覧に追加します。これらは、お使いの環境内のペイロードイメージで必要とされます。非接続クラスターの場合、ミラーレジストリーも追加する必要があります。レジストリーが追加されていることを確認するには、ノードが
Ready状態に戻ったときに、ノードで以下のコマンドを使用します。cat /host/etc/containers/registries.conf.d/01-image-searchRegistries.conf
$ cat /host/etc/containers/registries.conf.d/01-image-searchRegistries.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
unqualified-search-registries = ['reg1.io', 'reg2.io', 'reg3.io']
unqualified-search-registries = ['reg1.io', 'reg2.io', 'reg3.io']Copy to Clipboard Copied! Toggle word wrap Toggle overflow