AKS クラスター上のポッドから TCP パケットをキャプチャする
この記事では、Azure Kubernetes Service (AKS) クラスターのポッドで TCP トラフィック キャプチャを取得し、そのキャプチャをローカル コンピューターにダウンロードする方法について説明します。
前提条件
Azure CLI バージョン 2.0.59 以降のバージョンを実行する必要があります。
az --version
を実行してバージョンを確認します。 最新バージョンの Azure CLI をインストールするには、 Azure CLI のインストールを参照してください。
ポッドを特定し、TCPdump をインストールする
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>
を実行して、その名前空間で実行されているポッドの一覧を取得することもできます。前の手順で識別したポッドに接続します。 次のコマンドでは、ポッド名として "azure-vote-front-848767080-tf34m" を使用します。 正しいポッド名に置き換えます。 ポッドが既定の名前空間にない場合は、
--namespace
パラメーターをkubectl exec
コマンドに追加する必要があります。kubectl exec azure-vote-front-848767080-tf34m -it -- /bin/bash
ポッドに接続した後、
tcpdump --version
を実行して、TCPdump がインストールされているかどうかを確認します。 "コマンドが見つかりません" というメッセージが表示された場合は、次のコマンドを実行して、TCPdump をポッドにインストールします。apt-get update && apt-get install tcpdump
ポッドで Alpine Linux を使用している場合は、次のコマンドを実行して TCPdump をインストールします。
apk add tcpdump
TCP パケットをキャプチャしてローカル ディレクトリに保存する
tcpdump -s 0 -vvv -w /capture.cap
を実行して、ポッドで TCP パケットのキャプチャを開始します。パケット キャプチャが完了したら、ポッド シェル セッションを終了します。
次のコマンドを実行して、現在のディレクトリにパケットを保存します。
kubectl cp azure-vote-front-848767080-tf34m:/capture.cap capture.cap
お問い合わせはこちらから
質問がある場合やヘルプが必要な場合は、サポート要求を作成するか、Azure コミュニティ サポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。