6.4. ネットワークポリシーの編集
クラスター管理者は、namespace の既存のネットワークポリシーを編集できます。
6.4.1. NetworkPolicy オブジェクトの編集
namespace の NetworkPolicy オブジェクトを編集できます。
前提条件
-
クラスターは、NetworkPolicy オブジェクトをサポートするデフォルトの CNI ネットワークプロバイダーを使用している(例
mode: NetworkPolicy
が設定された OpenShift SDN ネットワークプロバイダー)。このモードは OpenShiftSDN のデフォルトです。 -
OpenShift CLI (
oc
) がインストールされている。 -
cluster-admin
権限を持つユーザーとしてクラスターにログインしている。
手順
オプション: 現在の NetworkPolicy オブジェクトを一覧表示します。
特定の namespace のポリシーオブジェクトを一覧表示するには、以下のコマンドを入力します。
<namespace>
をプロジェクトの namespace に置き換えます。$ oc get networkpolicy -n <namespace>
クラスター全体についてのポリシーオブジェクトを一覧表示するには、以下のコマンドを入力します。
$ oc get networkpolicy --all-namespaces
NetworkPolicy オブジェクトを編集します。
NetworkPolicy をファイルに保存した場合は、ファイルを編集して必要な変更を加えてから、以下のコマンドを入力します。
<policy-file>
を、オブジェクト定義が含まれるファイルの名前に置き換えます。$ oc apply -f <policy-file>.yaml
NetworkPolicy オブジェクトを直接更新する必要がある場合、以下のコマンドを入力できます。
<policy-name>
を NetworkPolicy オブジェクトの名前に置き換え、<namespace>
をオブジェクトが存在するプロジェクトの名前に置き換えます。$ oc edit <policy-name> -n <namespace>
NetworkPolicy オブジェクトが更新されていることを確認します。
<namespace>
をオブジェクトが存在するプロジェクトの名前に置き換えます。$ oc get networkpolicy -n <namespace> -o yaml
6.4.2. サンプル NetworkPolicy オブジェクト
以下は、サンプル NetworkPolicy オブジェクトにアノテーションを付けます。
kind: NetworkPolicy apiVersion: extensions/v1beta1 metadata: name: allow-27107 1 spec: podSelector: 2 matchLabels: app: mongodb ingress: - from: - podSelector: 3 matchLabels: app: app ports: 4 - protocol: TCP port: 27017