6.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
以下は、
image.config.openshift.io/cluster
リソースの例になります。apiVersion: config.openshift.io/v1 kind: Image1 metadata: annotations: release.openshift.io/create-only: "true" creationTimestamp: "2019-05-17T13:44:26Z" generation: 1 name: cluster resourceVersion: "8302" selfLink: /apis/config.openshift.io/v1/images/cluster uid: e34555da-78a9-11e9-b92b-06d6c7da38dc spec: allowedRegistriesForImport:2 - domainName: quay.io insecure: false additionalTrustedCA:3 name: myconfigmap registrySources:4 insecureRegistries:5 - insecure.com blockedRegistries:6 - untrusted.com status: internalRegistryHostname: image-registry.openshift-image-registry.svc:5000
- 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 についてレジストリーのホスト名をキーとして使用し、base64 エンコード証明書を値として使用します。- 4
registrySources
: コンテナーランタイムがビルドおよび Pod のイメージへのアクセス時に個々のレジストリーを処理する方法を決定する設定が含まれます。たとえば、非セキュアなアクセスを許可するかどうかを設定します。内部クラスターレジストリーの設定は含まれません。- 5
insecureRegistries
: 有効な TLS 証明書を持たないか、または HTTP 接続のみをサポートするレジストリーです。- 6
blockedRegistries
: イメージのプルおよびプッシュアクションについてブラックリスト化されます。他のすべてのレジストリーは許可されます。
6.2.1. 非セキュアなレジストリーのインポートとレジストリーのブロック
image.config.openshift.io/cluster
カスタムリソース (CR) を編集して、非セキュアなレジストリーを追加するか、レジストリーをブロックできます。OpenShift Container Platform は、この CR への変更をクラスター内のすべてのノードに適用します。
有効な TLS 証明書を持たない、または HTTP 接続のみをサポートするレジストリーなど、非セキュアな外部レジストリーは使用しないでください。
手順
image.config.openshift.io/cluster
カスタムリソースを編集します。$ oc edit image.config.openshift.io/cluster
以下は、
image.config.openshift.io/cluster
リソースの例になります。apiVersion: config.openshift.io/v1 kind: Image metadata: annotations: release.openshift.io/create-only: "true" creationTimestamp: "2019-05-17T13:44:26Z" generation: 1 name: cluster resourceVersion: "8302" selfLink: /apis/config.openshift.io/v1/images/cluster uid: e34555da-78a9-11e9-b92b-06d6c7da38dc spec: allowedRegistriesForImport: - domainName: quay.io insecure: false additionalTrustedCA: name: myconfigmap registrySources: insecureRegistries:1 - insecure.com blockedRegistries:2 - untrusted.com status: internalRegistryHostname: image-registry.openshift-image-registry.svc:5000
Machine Config Operator (MCO) は、レジストリーへの変更について
image.config.openshift.io/cluster
を監視し、変更を検出するとノードを再起動します。レジストリーへの変更は、各ノードの /host/etc/containers/registries.conf ファイルに表示されます。cat /host/etc/containers/registries.conf [registries] [registries.search] registries = ["registry.access.redhat.com", "docker.io"] [registries.insecure] registries = ["insecure.com"] [registries.block] registries = ["untrusted.com"]