8.3. ネットワークグラフ (2.0 プレビュー) でのネットワークポリシーの生成
RHACS を使用すると、環境内で実際に監視されたネットワーク通信フローに基づいてネットワークポリシーを自動的に生成できます。
ネットワークグラフからネットワークポリシーを生成できます。
生成されたポリシーは、現在選択されているクラスターに存在するすべてのデプロイメントに適用されます。また、ベースライン検出期間中に観察されたすべてのネットワークトラフィックも許可されます。
手順
- RHACS ポータルで、Network Graph (2.0 preview) に移動します。
- クラスターを選択し、1 つ以上の namespace を選択します。
- ネットワークグラフのヘッダーで、Simulate network policy を選択します。RHACS は、選択したクラスターに存在するすべてのデプロイメントのポリシーを生成します。
- オプション: ポートとプロトコルを RHACS 生成ポリシーの範囲に含めない場合は、開いた情報パネルで Exclude ports & protocols を選択します。
Generate and simulate network policies を選択します。生成されたネットワークポリシー設定 YAML ファイルが同じパネルで開き、ネットワークグラフにポリシーの効果が表示されます。
警告ネットワークポリシーを直接適用すると、アプリケーションの実行で問題が発生する可能性があります。実稼働環境のワークロードに適用する前に、常に開発環境またはテストクラスターでネットワークポリシーをダウンロードし、テストします。
8.3.1. 生成されたポリシーをネットワークグラフ (2.0 プレビュー) に保存する
生成されたネットワークポリシーを RHACS からダウンロードして保存できます。このオプションを使用して、Git などのバージョン管理システムにポリシーをコミットします。
手順
- ネットワークポリシーを生成した後、Network Policy Simulator パネルで Download YAML アイコンをクリックします。
8.3.2. 生成されたポリシーをネットワークグラフ (2.0 プレビュー) でテストする
RHACS が生成するネットワークポリシーをダウンロードした後、クラスターに適用してテストできます。
手順
ネットワークポリシーを直接適用すると、アプリケーションの実行で問題が発生する可能性があります。実稼働環境のワークロードに適用する前に、常に開発環境またはテストクラスターでネットワークポリシーをダウンロードし、テストします。
8.3.3. 生成されたポリシーをネットワークグラフ (2.0 プレビュー) に適用する
ネットワークグラフ (2.0 プレビュー) のネットワークグラフから生成されたネットワークポリシーを適用することはできません。自動化された手順の一部として Kubernetes ネットワークポリシーを適用します。
8.3.4. ネットワークグラフ (2.0 プレビュー) で以前に適用されたポリシーに戻す
ポリシーを削除して、以前に適用したポリシーに戻すことができます。
手順
- RHACS ポータルで、Network Graph (2.0 preview) に移動します。
- 上部のバーのメニューからクラスター名を選択します。
- 1 つ以上の namespace とデプロイメントを選択します。
- Simulate network policy を選択します。
- View active YAMLS を選択します。
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を入力します。