8.3. ネットワークグラフ (2.0 プレビュー) でのネットワークポリシーの生成

RHACS を使用すると、環境内で実際に監視されたネットワーク通信フローに基づいてネットワークポリシーを自動的に生成できます。

ネットワークグラフからネットワークポリシーを生成できます。

生成されたポリシーは、現在選択されているクラスターに存在するすべてのデプロイメントに適用されます。また、ベースライン検出期間中に観察されたすべてのネットワークトラフィックも許可されます。

手順

  1. RHACS ポータルで、Network Graph (2.0 preview) に移動します。
  2. クラスターを選択し、1 つ以上の namespace を選択します。
  3. ネットワークグラフのヘッダーで、Simulate network policy を選択します。RHACS は、選択したクラスターに存在するすべてのデプロイメントのポリシーを生成します。
  4. オプション: ポートとプロトコルを RHACS 生成ポリシーの範囲に含めない場合は、開いた情報パネルで Exclude ports & protocols を選択します。
  5. Generate and simulate network policies を選択します。生成されたネットワークポリシー設定 YAML ファイルが同じパネルで開き、ネットワークグラフにポリシーの効果が表示されます。

    警告

    ネットワークポリシーを直接適用すると、アプリケーションの実行で問題が発生する可能性があります。実稼働環境のワークロードに適用する前に、常に開発環境またはテストクラスターでネットワークポリシーをダウンロードし、テストします。

8.3.1. 生成されたポリシーをネットワークグラフ (2.0 プレビュー) に保存する

生成されたネットワークポリシーを RHACS からダウンロードして保存できます。このオプションを使用して、Git などのバージョン管理システムにポリシーをコミットします。

手順

  • ネットワークポリシーを生成した後、Network Policy Simulator パネルで Download YAML アイコンをクリックします。

8.3.2. 生成されたポリシーをネットワークグラフ (2.0 プレビュー) でテストする

RHACS が生成するネットワークポリシーをダウンロードした後、クラスターに適用してテストできます。

手順

  1. 保存した YAML ファイルを使用してポリシーを作成するには、次のコマンドを実行します。

    $ oc create -f "<generated_file>.yml" 1
    1
    Kubernetes を使用する場合は、oc の代わりに kubectl を入力します。
  2. 生成されたポリシーで問題が発生する場合は、以下のコマンドを実行してそのポリシーを削除できます。

    $ oc delete -f "<generated_file>.yml" 1
    1
    Kubernetes を使用する場合は、oc の代わりに kubectl を入力します。
警告

ネットワークポリシーを直接適用すると、アプリケーションの実行で問題が発生する可能性があります。実稼働環境のワークロードに適用する前に、常に開発環境またはテストクラスターでネットワークポリシーをダウンロードし、テストします。

8.3.3. 生成されたポリシーをネットワークグラフ (2.0 プレビュー) に適用する

ネットワークグラフ (2.0 プレビュー) のネットワークグラフから生成されたネットワークポリシーを適用することはできません。自動化された手順の一部として Kubernetes ネットワークポリシーを適用します。

8.3.4. ネットワークグラフ (2.0 プレビュー) で以前に適用されたポリシーに戻す

ポリシーを削除して、以前に適用したポリシーに戻すことができます。

手順

  1. RHACS ポータルで、Network Graph (2.0 preview) に移動します。
  2. 上部のバーのメニューからクラスター名を選択します。
  3. 1 つ以上の namespace とデプロイメントを選択します。
  4. Simulate network policy を選択します。
  5. View active YAMLS を選択します。
  6. Actions メニューから、Revert rules to previously applied YAML を選択します。

    警告

    ネットワークポリシーを直接適用すると、アプリケーションの実行で問題が発生する可能性があります。実稼働環境のワークロードに適用する前に、常に開発環境またはテストクラスターでネットワークポリシーをダウンロードし、テストします。

8.3.5. ネットワークグラフ (2.0 プレビュー) で自動生成されたすべてのポリシーの削除

RHACS を使用して作成したクラスターから、自動生成されたポリシーをすべて削除できます。

手順

  • 以下のコマンドを実行します。

    $ oc get ns -o jsonpath='{.items[*].metadata.name}' | \
    xargs -n 1 oc delete networkpolicies -l \
    'network-policy-generator.stackrox.io/generated=true' -n 1
    1
    Kubernetes を使用する場合は、oc の代わりに kubectl を入力します。