全部產品
Search
文件中心

Alibaba Cloud Service Mesh:使用網路包探測任務診斷網格內流量

更新時間:Oct 09, 2024

服務網格ASM支援針對網格內部署的工作負載發起網路包探測任務,擷取一定時段內Pod內的TCP流量包資訊,並轉儲到Kubernetes叢集節點機器上以供下載查看。本文介紹網路包探測任務診斷網格內流量。

背景資訊

當應用接入服務網格後,由於應用本身的多樣性,可能會產生某些流量不符合預期的問題,如要求標頭過大、請求沒有遵守標準HTTP協議等。網路包探測任務可以快捷地針對工作負載抓取流量資訊,輔助進行複雜流量問題的快速診斷。

前提條件

  1. 已建立ASM企業版或旗艦版執行個體,且版本為1.21.6.72及以上。具體操作,請參見建立ASM執行個體升級ASM執行個體

  2. 添加叢集到ASM執行個體

操作步驟

  1. 登入ASM控制台,在左側導覽列,選擇服務網格 > 網格管理

  2. 網格管理頁面,單擊目標執行個體名稱,然後在左側導覽列,選擇網格執行個體 > 網格診斷

  3. 網格診斷頁面,單擊服務網路包探測

  4. 服務網路包探測頁面,單擊建立任務,在彈出的對話方塊中,填寫需要進行探測的Pod對應的Kubernetes叢集命名空間pod名稱,以及任務運行時間長度、任務運行時使用的tcpdump參數(有關如何使用tcpdump 參數,請參見tcpdump手冊),以及捕獲網路流量包後儲存的儲存檔案名稱。單擊確定

  5. 服務網路包探測頁面,等待建立的任務的狀態列變為Complete

  6. 根據任務的檔案所在宿主機以及檔案儲存路徑記錄,找到對應的Kubernetes叢集宿主機,並下載指定路徑下的pcap檔案,下載檔案操作可以參考使用Workbench上傳或下載檔案

相關操作

刪除探測包任務記錄

  1. 登入ASM控制台,在左側導覽列,選擇服務網格 > 網格管理

  2. 網格管理頁面,單擊目標執行個體名稱,然後在左側導覽列,選擇網格執行個體 > 網格診斷

  3. 網格診斷頁面,單擊服務網路包探測

  4. 服務網路包探測頁面,找到需要刪除的任務記錄,在操作列單擊刪除。在彈出的對話方塊中單擊確定

常用tcpdump參數

使用服務網路包探測時,您可以根據想要探測的流量性質,參考以下的說明來設定tcpdump參數。

  • 在用戶端Pod內探測Sidecar與應用程式之間的流量時,可使用如下參數。

    # 將172.16.xx.xx替換為目標服務的Service IP
    -i lo dst port 15001 or src host 172.16.xx.xx
  • 在用戶端Pod內探測Sidecar與目標服務之間的流量時,可使用如下參數。

    # 將192.168.xx.xx替換為目標服務的Pod IP
    -i any host 192.168.xx.xx
  • 在服務端Pod內探測Sidecar與應用程式之間的流量時,可使用如下參數。

    -i lo host 127.0.0.6
  • 在服務端Pod內探測Sidecar與用戶端Pod之間的流量時,可使用如下參數。

    # 將192.168.xx.xx替換為用戶端Pod IP
    -i any host 192.168.xx.xx