8.2. 使用 roxctl netpol connectivity map 命令连接映射
连接映射根据 Kubernetes 清单中定义的网络策略,提供不同工作负载之间允许的连接详情。您可以视觉化并了解 Kubernetes 环境中的不同工作负载如何根据您设置的网络策略相互通信。
要检索连接映射信息,roxctl netpol connectivity map
命令需要一个目录路径,其中包含 Kubernetes 工作负载和网络策略清单。输出详细介绍了分析的 Kubernetes 资源中的连接详情。
8.2.1. 从 Kubernetes 清单目录中检索连接映射信息 复制链接链接已复制到粘贴板!
流程
运行以下命令来检索连接映射信息:
roxctl netpol connectivity map <folder_path> [flags]
$ roxctl netpol connectivity map <folder_path> [flags]
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 指定文件夹的路径,其中包括包含 YAML 资源和网络策略的子文件夹,例如
netpol-analysis-example-minimal/
。命令扫描整个子文件夹树。另外,您还可以指定参数来修改命令的行为。
有关可选参数的更多信息,请参阅 roxctl netpol connectivity map 命令选项。
例 8.1. 输出示例
Expand 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
输出显示包含允许连接行列表的表。每个连接行由三个部分组成:source (src
)、目标(dst
)和允许的连接属性(conn
)。
您可以将 src
解释为源端点,dst
作为目标端点,conn
作为允许的连接属性。端点的格式是 namespace/name[Kind]
,例如 default/backend[Deployment]
。
8.2.2. 连接映射输出格式和视觉化 复制链接链接已复制到粘贴板!
您可以使用各种输出格式,包括 txt
、md
、csv
、json
和 dot
。dot
格式非常适合将输出可视化为连接图形。它可以通过图形软件(如 Graphviz 工具 )查看,以及对 VSCode 的扩展。您可以使用 Graphviz 将 点
输出转换为格式,如 svg
、jpeg
或 png
,无论是在本地安装还是通过在线查看器安装。
8.2.3. 使用 Graphviz 从点输出生成 svg 图形 复制链接链接已复制到粘贴板!
按照以下步骤,从 点
输出以 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! Toggle word wrap Toggle overflow 以下是点输出的示例以及 Graphviz 生成的图形:
8.2.4. roxctl netpol connectivity map 命令选项 复制链接链接已复制到粘贴板!
roxctl netpol connectivity map
命令支持以下选项:
选项 | 描述 |
---|---|
|
在第一次遇到的错误时失败。默认值为 |
| 专注于输出中指定工作负载名称的连接。 |
|
查看 |
| 将连接列表输出保存到特定文件中。 |
|
配置输出格式。支持的格式有 |
|
删除输出路径(如果已存在)。默认值为 |
|
将连接列表输出保存到默认文件中。默认值为 |
|
将警告视为错误。默认值为 |