6.2. ネットワークポリシーの作成
クラスター管理者は、namespace のネットワークポリシーを作成できます。
6.2.1. NetworkPolicy オブジェクトの作成 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
クラスターのプロジェクトに許可される Ingress ネットワークトラフィックを記述する詳細なルールを定義するには、NetworkPolicy オブジェクトを作成できます。
前提条件
-
クラスターは、NetworkPolicy オブジェクトをサポートするデフォルトの CNI ネットワークプロバイダーを使用している(例
mode: NetworkPolicyが設定された OpenShift SDN ネットワークプロバイダー)。このモードは OpenShiftSDN のデフォルトです。 -
OpenShift CLI (
oc) がインストールされている。 -
cluster-admin権限を持つユーザーとしてクラスターにログインしている。
手順
ポリシールールを作成します。
-
<policy-name>.yamlファイルを作成します。<policy-name>はポリシールールを記述します。 作成したばかりのファイルで、以下の例のようなポリシーオブジェクトを定義します。
kind: NetworkPolicy apiVersion: networking.k8s.io/v1 metadata: name: <policy-name>1 spec: podSelector: ingress: []- 1
- ポリシーオブジェクトの名前を指定します。
-
以下のコマンドを実行してポリシーオブジェクトを作成します。
$ oc create -f <policy-name>.yaml -n <project>以下の例では、新規 NetworkPolicy オブジェクトが
project1という名前のプロジェクトに作成されます。$ oc create -f default-deny.yaml -n project1出力例
networkpolicy "default-deny" created
6.2.2. サンプル NetworkPolicy オブジェクト リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
以下は、サンプル NetworkPolicy オブジェクトにアノテーションを付けます。
kind: NetworkPolicy
apiVersion: extensions/v1beta1
metadata:
name: allow-27107
spec:
podSelector:
matchLabels:
app: mongodb
ingress:
- from:
- podSelector:
matchLabels:
app: app
ports:
- protocol: TCP
port: 27017