8.2. roxctl netpol connectivity map コマンドを使用した接続マッピング
接続マッピングレポートを使用すると、Kubernetes マニフェストで定義されたネットワークポリシーに基づいた、さまざまなワークロード間で許可される接続に関する情報を取得できます。設定したネットワークポリシーに従って、Kubernetes 環境内のさまざまなワークロードがどのように相互通信を許可されるかを視覚化して理解できます。
接続マッピング情報を取得するには、roxctl netpol connectivity map
コマンドに、Kubernetes ワークロードとネットワークポリシーマニフェストを含むディレクトリーパスを指定する必要があります。この出力では、分析された Kubernetes リソース内の接続の詳細が示されます。
8.2.1. Kubernetes マニフェストディレクトリーからの接続マッピング情報の取得
roxctl netpol connectivity map
コマンドを使用して、Kubernetes マニフェストディレクトリーから接続マッピング情報を取得します。
手順
接続マッピング情報を取得するには、次のコマンドを実行します。
roxctl netpol connectivity map <folder_path> [flags]
roxctl netpol connectivity map <folder_path> [flags]
1 Copy to Clipboard Copied! - 1
- フォルダーへのパスを指定します。たとえば、分析用の YAML リソースとネットワークポリシーを含むサブフォルダーなども指定できます (例:
netpol-analysis-example-minimal/
)。このコマンドは、サブフォルダーツリー全体をスキャンします。オプションで、パラメーターを指定してコマンドの動作を変更することもできます。
表8.2 出力例 src dst conn 0.0.0.0-255.255.255.255
default/frontend[Deployment]
TCP 8080
default/frontend[Deployment]
0.0.0.0-255.255.255.255
UDP 53
default/frontend[Deployment]
default/backend[Deployment]
TCP 9090
出力には、許可された接続ラインをリストしたテーブルが表示されます。各行は次の要素で構成されます。
-
src
:: ソースエンドポイントを表します。 -
dsc
:: 宛先エンドポイントを表します。 -
conn
:: 許容値可能な接続属性を表します。
エンドポイントは、namespace/name[Kind]
の形式に従います。たとえば、default/backend[Deployment]
です。
8.2.2. 接続マップの出力形式および視覚化
txt
、md
、csv
、json
、dot
などのさまざまな出力形式を使用できます。dot
形式は、出力を接続グラフとして視覚化するのに最適です。これは、Graphviz ツール などのグラフ視覚化ソフトウェアや VSCode の拡張機能 を使用して表示できます。Graphviz がローカルでインストールされているか、オンラインビューアーを介してインストールされているかに関係なく、Graphviz を使用して dot
出力を svg
、jpeg
、または png
などの形式に変換できます。
8.2.3. Graphviz を使用した dot 出力からの SVG グラフの生成
以下の手順に従って、dot
出力から svg
形式のグラフを作成します。
前提条件
- Graphviz がローカルシステムにインストールされている。
手順
以下のコマンドを実行して
svg
形式のグラフを作成します。dot -Tsvg connlist_output.dot > connlist_output_graph.svg
$ dot -Tsvg connlist_output.dot > connlist_output_graph.svg
Copy to Clipboard Copied! 以下は、ドットの出力と Graphviz によって生成された結果グラフの例です。