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
defaultIngress コントローラー設定にspec.endpointPublishingStrategy: HostNetworkの値が設定されている場合、ラベルをdefaultOpenShift Container Platform namespace に適用し、Ingress コントローラーとプロジェクト間のネットワークトラフィックを許可する必要があります。defaultIngress コントローラーが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として報告される場合には、defaultnamespace にラベルを設定します。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 yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の例では、
allow-from-openshift-ingressNetworkPolicyオブジェクトが表示されています。oc get -n project1 networkpolicy allow-from-openshift-ingress -o yaml
$ oc get -n project1 networkpolicy allow-from-openshift-ingress -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow