Freigeben über


Erfassen von TCP-Paketen von einem Pod in einem AKS-Cluster

In diesem Artikel wird erläutert, wie Sie eine TCP-Datenverkehrserfassung auf einem Pod eines Azure Kubernetes Service (AKS)-Clusters durchführen und die Aufzeichnung auf Ihren lokalen Computer herunterladen.

Voraussetzungen

Sie müssen die Azure CLI-Version 2.0.59 oder eine höhere Version ausführen.

Führen Sie die Ausführung aus az --version , um die Version zu überprüfen. Informationen zum Installieren der neuesten Version der Azure CLI finden Sie unter Installieren der Azure CLI.

Identifizieren des Pods und Installieren von TCPdump

  1. Identifizieren Sie den Namen des Pods, von dem Sie die TCP-Pakete erfassen möchten. Dies sollte der Pod sein, der über die Konnektivitätsprobleme verfügt. Führen Sie dazu die Ausführung kubectl get pods -A aus, um die Liste der Pods auf Ihrem AKS-Cluster anzuzeigen. Hier ist ein Beispiel für die Ausgabe angegeben:

    NAME                               READY     STATUS    RESTARTS   AGE
    azure-vote-back-2549686872-4d2r5   1/1       Running   0          31m
    azure-vote-front-848767080-tf34m   1/1       Running   0          31m
    

    Wenn Sie den Namespace kennen, in dem der Pod ausgeführt wird, können Sie auch ausführen kubectl get pods -n <namespace> , um eine Liste der Pods abzurufen, die in diesem Namespace ausgeführt werden.

  2. Stellen Sie eine Verbindung mit dem Pod her, den Sie im vorherigen Schritt identifiziert haben. Die folgenden Befehle verwenden "azure-vote-front-848767080-tf34m" als Podnamen. Ersetzen Sie sie durch den richtigen Podnamen. Wenn sich der Pod nicht im Standardnamespace befindet, müssen Sie dem kubectl exec Befehl den --namespace Parameter hinzufügen.

    kubectl exec azure-vote-front-848767080-tf34m -it -- /bin/bash
    
  3. Nachdem Sie eine Verbindung mit dem Pod hergestellt haben, führen Sie die Ausführung aus tcpdump --version , um zu ermitteln, ob der TCPdump installiert ist. Wenn Sie eine Meldung "Befehl nicht gefunden" erhalten, führen Sie den folgenden Befehl aus, um den TCPdump im Pod zu installieren:

    apt-get update && apt-get install tcpdump
    

    Wenn Ihr Pod Alpine Linux verwendet, führen Sie den folgenden Befehl aus, um TCPdump zu installieren:

     apk add tcpdump
    

Erfassen von TCP-Paketen und Speichern in einem lokalen Verzeichnis

  1. Führen Sie den Befehl aus tcpdump -s 0 -vvv -w /capture.cap , um mit der Erfassung von TCP-Paketen auf Ihrem Pod zu beginnen.

  2. Nachdem die Paketerfassung abgeschlossen ist, beenden Sie die Pod-Shell-Sitzung.

  3. Führen Sie den folgenden Befehl aus, um die Pakete im aktuellen Verzeichnis zu speichern:

    kubectl cp azure-vote-front-848767080-tf34m:/capture.cap capture.cap
    

Kontaktieren Sie uns für Hilfe

Wenn Sie Fragen haben oder Hilfe mit Ihren Azure-Gutschriften benötigen, dann erstellen Sie beim Azure-Support eine Support-Anforderung oder fragen Sie den Azure Community-Support. Sie können auch Produktfeedback an die Azure Feedback Community senden.