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