在 NSX 4.1 中,Antrea Traceflow 不支援追蹤在 Antrea Kubernetes 叢集與 NSX 覆疊網路之間傳輸的封包路徑。但是,本說明文件會說明一些可行的因應措施。
在遵循本說明文件中的工作流程指示之前,請仔細閱讀以下重要說明,以確保在
NSX
Traceflow 和
Antrea Traceflow 工作階段中,正確完成
通訊協定類型和
目的地連接埠欄位的設定。
重要: 依預設,
Traceflow 工作階段的
通訊協定類型會設定為
ICMP。如果您變更為
TCP,依預設,會將
目的地連接埠設定為
0。請記得指定 Kubernetes 服務或
NSX 負載平衡器虛擬伺服器的連接埠號碼。這是因為 K8s 服務和
NSX 負載平衡器虛擬伺服器會在特定的 TCP 連接埠上接聽。簡言之,您必須在
Traceflow 工作階段中精確指定所有資訊 (IP 位址、通訊協定類型和目的地連接埠),以確保所插入的封包是由 K8s 服務或
NSX 負載平衡器所處理。
追蹤從 NSX 虛擬機器傳輸到 K8s 網繭的封包路徑
如果要追蹤從
NSX 覆疊網路中的虛擬機器,傳輸到
Antrea Kubernetes 叢集中的網繭工作負載的封包路徑,請執行以下步驟:
- 導覽至Traceflow 卡片中,按一下開始使用。 ,然後在
- 在來源區域中,從類型下拉式功能表中選取虛擬機器。
- 在目的地區域中,選取 IP-Mac。按一下第 3 層選項,然後輸入下列任一 IP 位址:
- Kubernetes 入口 IP 位址
- LoadBalancer 服務 IP 位址
- 節點 IP 位址
- 網繭 IP 位址 (如果網繭 IP 在底層網路上可路由)
NSX Traceflow 將追蹤封包路徑,直到封包離開 NSX 覆疊網路為止。
目前,
Antrea Traceflow 的
來源中不支援以下元件:
- Kubernetes 服務 (LoadBalancer、NodePort)
- Kubernetes 閘道
- Kubernetes 入口
因此,一旦封包到達 Antrea Kubernetes 叢集後,就無法追蹤該封包的路徑。
追蹤從 K8s 網繭傳輸到 NSX 虛擬機器的封包路徑
如果要追蹤從
Antrea Kubernetes 叢集中的網繭,傳輸到
NSX 覆疊網路中的虛擬機器的封包路徑,請執行以下步驟:
- 導覽至Traceflow 卡片中,按一下開始使用。 ,然後在
- 按一下 Antrea Traceflow索引標籤。
- 在來源區域中,從類型下拉式功能表中選取網繭。
- 在目的地區域中,從類型下拉式功能表中選取 IP 位址,然後輸入 NSX 負載平衡器虛擬機器的 IP 位址。
Antrea Traceflow 將追蹤封包路徑,直到封包離開 Antrea Kubernetes 叢集為止。
如本說明文件前述的重要說明,請確定您在 Antrea Traceflow 工作階段中,已精確指定所有資訊 (IP 位址、通訊協定類型和目的地連接埠)
- 現在,您可以使用 NSX Traceflow 功能,來追蹤從第 0 層閘道介面傳輸到 NSX 覆疊網路中目的地虛擬機器的封包。依如下所示,在 NSX Traceflow 中設定來源:
- 類型:連接埠/介面
- 連結:Edge 上行
- 連接埠:從下拉式功能表中選取第 0 層介面。
依如下所示,在 NSX Traceflow 中設定 目的地:- 類型:IP-Mac
- 層:第 3 層 (網路層)
- IP 位址:輸入 NSX 負載平衡器虛擬機器的 IP 位址。
追蹤結果會顯示 NSX 負載平衡器如何選擇虛擬機器作為目的地,以及封包採用了何種路徑,以從 NSX 負載平衡器傳輸到目的地虛擬機器。