36.6. ネットワークポリシー

admin ロールを持つユーザーとして、netobserv namespace のネットワークポリシーを作成できます。

36.6.1. ネットワーク可観測性のためのネットワークポリシーの作成

netobserv namespace への ingress トラフィックを保護するために、ネットワークポリシーを作成する必要がある場合があります。Web コンソールでは、フォームビューを使用してネットワークポリシーを作成できます。

手順

  1. NetworkingNetworkPolicies に移動します。
  2. Project ドロップダウンメニューから netobserv プロジェクトを選択します。
  3. ポリシーに名前を付けます。この例では、ポリシー名は allowed-ingress です。
  4. Add ingress rule を 3 回クリックして、3 つのイングレスルールを作成します。
  5. フォームで以下を指定します。

    1. 最初の Ingress rule に対して以下の仕様を作成します。

      1. Add allowed source ドロップダウンメニューから、Allow pods from the same namespace を選択します。
    2. 2 番目の Ingress rule に対して次の仕様を作成します。

      1. Add allowed source ドロップダウンメニューから、Allow pods from inside the cluster を選択します。
      2. + Add namespace selector をクリックします。
      3. ラベル kubernetes.io/metadata.name とセレクター openshift-console を追加します。
    3. 3 番目の Ingress rule に対して次の仕様を作成します。

      1. Add allowed source ドロップダウンメニューから、Allow pods from inside the cluster を選択します。
      2. + Add namespace selector をクリックします。
      3. ラベル kubernetes.io/metadata.name とセレクター openshift-monitoring を追加します。

検証

  1. ObserveNetwork Traffic に移動します。
  2. Traffic Flows タブまたは任意のタブを表示して、データが表示されていることを確認します。
  3. ObserveDashboards に移動します。NetObserv/Health の選択で、フローが取り込まれて Loki に送信されていることを確認します (最初のグラフに示されています)。

36.6.2. ネットワークポリシーの例

以下は、netobserv namespace の NetworkPolicy オブジェクトの例にアノテーションを付けています。

サンプルネットワークポリシー

kind: NetworkPolicy
apiVersion: networking.k8s.io/v1
metadata:
  name: allow-ingress
  namespace: netobserv
spec:
  podSelector: {}            1
  ingress:
    - from:
        - podSelector: {}    2
          namespaceSelector: 3
            matchLabels:
              kubernetes.io/metadata.name: openshift-console
        - podSelector: {}
          namespaceSelector:
            matchLabels:
              kubernetes.io/metadata.name: openshift-monitoring
  policyTypes:
    - Ingress
status: {}

1
ポリシーが適用される Pod を説明するセレクター。ポリシーオブジェクトは NetworkPolicy オブジェクトが定義されるプロジェクトの Pod のみを選択できます。このドキュメントでは、Netobservability Operator がインストールされているプロジェクト、つまり netobserv プロジェクトになります。
2
ポリシーオブジェクトが入力トラフィックを許可する Pod に一致するセレクター。デフォルトでは、セレクターは NetworkPolicy と同じ namespace の Pod と一致します。
3
namespaceSelector が指定されている場合、セレクターは指定された namespace 内の Pod と一致します。