7.3.6. ImagePolicy 受付プラグイン
受付制御プラグインは API への要求をインターセプトし、設定されているルールに応じてチェックを実行し、それらのルールに基づいて特定のアクションを許可したり、拒否したりします。OpenShift Container Platform は、ImagePolicy
受付プラグイン を使用して、環境で実行可能なイメージを制限できます。ここでは 以下を制御できます。
- イメージのソース: イメージのプルに使用できるレジストリー
- イメージの解決: イメージが再タグ付けによって変更されないよう、イミュータブルなダイジェストによる Pod の実行を強制する。
- コンテナーイメージラベルの制限: イメージに特定のラベルを持たせるか、または持たせないよう強制する。
- イメージアノテーションの制限: 統合コンテナーレジストリーのイメージに特定のアノテーションを持たせるか、または持たせないよう強制する。
現時点で、ImagePolicy
受付プラグインはベータ版とみなされています。
手順
ImagePolicy
プラグインが有効にされている場合、これを、すべてのマスターノードで/etc/origin/master/master-config.yaml
ファイルを変更して使用される外部レジストリーを許可するように変更する必要があります。admissionConfig: pluginConfig: openshift.io/ImagePolicy: configuration: kind: ImagePolicyConfig apiVersion: v1 executionRules: - name: allow-images-from-other-registries onResources: - resource: pods - resource: builds matchRegistries: - docker.io - <my.registry.example.com> - registry.redhat.io
注記ImagePolicy
を有効にすることにより、ユーザーはアプリケーションを使用する際にレジストリーを指定する必要があります (oc new-app kubernetes/guestbook
ではなくoc new-app docker.io/kubernetes/guestbook
とするなど)。 そうしないと、失敗が生じます。インストール時に受付プラグインを有効にするには、
openshift_master_admission_plugin_config
変数を、すべてのpluginConfig
設定を含むjson
でフォーマットされた文字列と共に使用できます。openshift_master_admission_plugin_config={"openshift.io/ImagePolicy":{"configuration":{"kind":"ImagePolicyConfig","apiVersion":"v1","executionRules":[{"name":"allow-images-from-other-registries","onResources":[{"resource":"pods"},{"resource":"builds"}],"matchRegistries":["docker.io","*my.registry.example.com*","registry.redhat.io"]}]}}}