次の方法で共有


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 フィードバック コミュニティに製品フィードバックを送信することもできます。