您可以在 NSX Manager 中启动流跟踪会话,以跟踪 Antrea Kubernetes 集群中的数据包路径。Antrea 流跟踪当前仅支持跟踪单播流量的路径,而不支持跟踪广播和多播流量的路径。

注: 在多租户 NSX 环境中, Antrea 流跟踪功能当前在项目下不受支持。您必须在 NSX 环境的 默认视图(默认空间)中使用此功能。
流跟踪会话的源必须是 Pod,而目标可以是同一 Antrea Kubernetes 集群中的 Pod 或服务。您可以跟踪 Antrea Kubernetes 集群中以下类型的流量的数据包路径:
  • 同一节点上的“Pod 到 Pod”流量(节点内流量)
  • 节点之间的“Pod 到 Pod”流量(节点间流量)
  • 同一节点上的“Pod 到服务”流量
  • 节点之间的“Pod 到服务”流量
  • Pod 到任意 IP 地址
注: 目前, Antrea 流跟踪不支持跟踪在 Antrea Kubernetes 集群与 NSX 覆盖网络之间传输的数据包路径。但是,有一些可行的解决办法。有关详细信息,请参见 跟踪 Antrea Kubernetes 集群与 NSX 覆盖网络之间的数据包流量的解决办法

流跟踪会将测试数据包注入到 Antrea Kubernetes 集群网络中,并监控该数据包的流动情况。当数据包从源流向目标时,将从位于数据包路径上的各个组件收集观察结果。这些观察结果显示在 流跟踪 输出中,其中显示了数据包路径中的各种组件。

前提条件

已向 NSX 注册 Antrea Kubernetes 集群。

过程

  1. 从浏览器中,通过 https://nsx-manager-ip-address 登录到 NSX Manager
  2. 导航到安全规划和故障排除 > 流量分析
    重要说明: 在浏览器中启动 NSX Manager 应用程序时, NSX Manager UI 会获取有关已注册的 Antrea Kubernetes 集群的信息。如果该应用程序 UI 已打开,则不会自动获取 Antrea Kubernetes 集群注册信息。根据当前 UI 设计,这是预期行为。如果在打开 NSX Manager 应用程序后注册了第一个 Antrea Kubernetes 集群,请确保在导航到 流跟踪分析页面后刷新浏览器。手动刷新可确保在执行此过程的第 4 步时,UI 中显示 Antrea 流跟踪选项卡。

    此手动浏览器刷新只需执行一次,而无需在每次将新的 Antrea Kubernetes 集群注册到 NSX 后都执行。

  3. 流跟踪卡中,单击开始
  4. 单击 Antrea 流跟踪选项卡。
    只有在 NSX 中注册了至少一个 Antrea Kubernetes 集群时,才能使用此选项卡。如果未显示此选项卡,请刷新浏览器。
  5. 指定流跟踪会话的配置设置。
    字段 描述
    集群

    从下拉菜单中选择一个 Antrea Kubernetes 集群。

    或者,输入集群名称的前几个字符以筛选列表,然后选择集群。

    IP 地址

    选择 IPv4IPv6

    协议类型

    选择任一协议类型:ICMP、TCP、UDP。

    对于 ICMP:

    • 可选:输入 ICMP 标识符。默认值为 0。
    • 可选:输入 ICMP 序列号。默认值为 0。
    • 可选:输入 TTL。默认值为 64。

    对于 TCP 和 UDP:

    • 可选:输入源端口号。默认值为 0。
    • 可选:输入目标端口号。默认值为 0。
    • (仅适用于 TCP):根据需要添加 TCP 标记。默认情况下会设置 SYN 标记。Antrea 流跟踪需要此标记。
    • 可选:输入 TTL。默认值为 64。

    仅支持将 Pod 作为 Antrea 流跟踪的源。

    注: 目前,不支持将使用主机网络的 Pod 作为 Antrea 流跟踪源。该限制是一种已知行为。例如,在 Antrea 流跟踪的源中不支持 Antrea 代理 Pod。
    如果您知道 Pod 名称,请直接从 Pod 下拉菜单中选择该 Pod。否则,执行以下步骤以筛选 Pod 列表:
    1. 输入节点名称的前几个字符,或者从节点下拉菜单中选择值。
    2. 输入命名空间名称的前几个字符,或者从命名空间下拉菜单中选择值。
    目标
    1. 选择目标类型:Pod服务IP 地址
    2. 如果选择 Pod服务作为目标,请使用节点命名空间下拉菜单来筛选 Pod 或服务列表。
    3. 如果选择 IP 地址以作为目标,请输入一个 IP 地址。
  6. 单击跟踪

结果

将以表格格式显示 流跟踪观察结果。对于每个观察,表中将显示以下信息。
观察类型
此列接受以下值。
观察类型 描述
已传送 已将数据包正确传送到目标 Pod 或服务。
已丢弃 已根据网络策略丢弃数据包。
已接收 已从 Kubernetes 集群中的另一个节点接收数据包。
已转发 已将数据包转发到下一个逻辑节点或 Kubernetes 集群对象。
组件
该列显示测试数据包在从源到目标的路径中遇到的组件。示例组件值包括:IngressRule、EgressRule、SpoofGuard、Classification、Output 等。

可以单击组件名称以在弹出窗口中查看更多信息。

时间戳
每个观察的日期和时间。