次の方法で共有


AKS クラスター上のポッドから TCP パケットをキャプチャする

この記事では、Azure Kubernetes Service (AKS) クラスターのポッドで TCP トラフィック キャプチャを取得し、そのキャプチャをローカル コンピューターにダウンロードする方法について説明します。

前提条件

Azure CLI バージョン 2.0.59 以降のバージョンを実行する必要があります。

az --versionを実行してバージョンを確認します。 最新バージョンの Azure CLI をインストールするには、 Azure CLI のインストールを参照してください。

ポッドを特定し、TCPdump をインストールする

  1. TCP パケットをキャプチャするポッドの名前を特定します。 これは、接続の問題があるポッドである必要があります。 これを行うには、 kubectl get pods -A を実行して、AKS クラスター上のポッドの一覧を表示します。 出力の例を次に示します。

    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
    

    ポッドが実行されている名前空間がわかっている場合は、 kubectl get pods -n <namespace> を実行して、その名前空間で実行されているポッドの一覧を取得することもできます。

  2. 前の手順で識別したポッドに接続します。 次のコマンドでは、ポッド名として "azure-vote-front-848767080-tf34m" を使用します。 正しいポッド名に置き換えます。 ポッドが既定の名前空間にない場合は、 --namespace パラメーターを kubectl exec コマンドに追加する必要があります。

    kubectl exec azure-vote-front-848767080-tf34m -it -- /bin/bash
    
  3. ポッドに接続した後、 tcpdump --version を実行して、TCPdump がインストールされているかどうかを確認します。 "コマンドが見つかりません" というメッセージが表示された場合は、次のコマンドを実行して、TCPdump をポッドにインストールします。

    apt-get update && apt-get install tcpdump
    

    ポッドで Alpine Linux を使用している場合は、次のコマンドを実行して TCPdump をインストールします。

     apk add tcpdump
    

TCP パケットをキャプチャしてローカル ディレクトリに保存する

  1. tcpdump -s 0 -vvv -w /capture.capを実行して、ポッドで TCP パケットのキャプチャを開始します。

  2. パケット キャプチャが完了したら、ポッド シェル セッションを終了します。

  3. 次のコマンドを実行して、現在のディレクトリにパケットを保存します。

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

お問い合わせはこちらから

質問がある場合やヘルプが必要な場合は、サポート要求を作成するか、Azure コミュニティ サポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。