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.6.7. ネットワークポリシーを使用したマルチテナントモードの設定
クラスター管理者は、マルチテナントネットワークの分離を実行するようにネットワークポリシーを設定できます。
6.7.1. ネットワークポリシーを使用したマルチテナント分離の設定 リンクのコピーリンクがクリップボードにコピーされました!
他のプロジェクト namespace の Pod およびサービスから分離できるようにプロジェクトを設定できます。
前提条件
-
クラスターは、
NetworkPolicy
オブジェクトをサポートするデフォルトの CNI ネットワークプロバイダーを使用している (例:mode: NetworkPolicy
が設定された OpenShift SDN ネットワークプロバイダー)。このモードは OpenShiftSDN のデフォルトです。 -
OpenShift CLI (
oc
) がインストールされている。 -
cluster-admin
権限を持つユーザーとしてクラスターにログインしていること。
手順
以下の
NetworkPolicy
オブジェクトを作成します。allow-from-openshift-ingress
という名前のポリシー:Copy to Clipboard Copied! Toggle word wrap Toggle overflow allow-from-openshift-monitoring
という名前のポリシー。Copy to Clipboard Copied! Toggle word wrap Toggle overflow allow-same-namespace
という名前のポリシー:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
default
Ingress コントローラー設定にspec.endpointPublishingStrategy: HostNetwork
の値が設定されている場合、ラベルをdefault
OpenShift Container Platform namespace に適用し、Ingress コントローラーとプロジェクト間のネットワークトラフィックを許可する必要があります。default
Ingress コントローラーがHostNetwork
エンドポイント公開ストラテジーを使用するかどうかを判別します。oc get --namespace openshift-ingress-operator ingresscontrollers/default \ --output jsonpath='{.status.endpointPublishingStrategy.type}'
$ oc get --namespace openshift-ingress-operator ingresscontrollers/default \ --output jsonpath='{.status.endpointPublishingStrategy.type}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 直前のコマンドによりエンドポイント公開ストラテジーが
HostNetwork
として報告される場合には、default
namespace にラベルを設定します。oc label namespace default 'network.openshift.io/policy-group=ingress'
$ oc label namespace default 'network.openshift.io/policy-group=ingress'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
以下のコマンドを実行し、
NetworkPolicy
オブジェクトが現在のプロジェクトに存在することを確認します。oc get networkpolicy <policy-name> -o yaml
$ oc get networkpolicy <policy-name> -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の例では、
allow-from-openshift-ingress
NetworkPolicy
オブジェクトが表示されています。oc get -n project1 networkpolicy allow-from-openshift-ingress -o yaml
$ oc get -n project1 networkpolicy allow-from-openshift-ingress -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow