28.6. ネットワークポリシー
admin
ロールを持つユーザーとして、netobserv
namespace のネットワークポリシーを作成できます。
28.6.1. ネットワーク可観測性のためのネットワークポリシーの作成
netobserv
namespace への ingress トラフィックを保護するために、ネットワークポリシーを作成する必要がある場合があります。Web コンソールでは、フォームビューを使用してネットワークポリシーを作成できます。
手順
-
Networking
NetworkPolicies に移動します。 -
Project ドロップダウンメニューから
netobserv
プロジェクトを選択します。 -
ポリシーに名前を付けます。この例では、ポリシー名は
allowed-ingress
です。 - Add ingress rule を 3 回クリックして、3 つのイングレスルールを作成します。
フォームで以下を指定します。
最初の Ingress rule に対して以下の仕様を作成します。
- Add allowed source ドロップダウンメニューから、Allow pods from the same namespace を選択します。
2 番目の Ingress rule に対して次の仕様を作成します。
- Add allowed source ドロップダウンメニューから、Allow pods from inside the cluster を選択します。
- + Add namespace selector をクリックします。
-
ラベル
kubernetes.io/metadata.name
とセレクターopenshift-console
を追加します。
3 番目の Ingress rule に対して次の仕様を作成します。
- Add allowed source ドロップダウンメニューから、Allow pods from inside the cluster を選択します。
- + Add namespace selector をクリックします。
-
ラベル
kubernetes.io/metadata.name
とセレクターopenshift-monitoring
を追加します。
検証
-
Observe
Network Traffic に移動します。 - Traffic Flows タブまたは任意のタブを表示して、データが表示されていることを確認します。
-
Observe
Dashboards に移動します。NetObserv/Health の選択で、フローが取り込まれて Loki に送信されていることを確認します (最初のグラフに示されています)。
28.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 と一致します。