Przechwytywanie pakietów TCP z zasobnika w klastrze usługi AKS
W tym artykule omówiono sposób przechwytywania ruchu TCP w zasobniku klastra usługi Azure Kubernetes Service (AKS) i pobierania przechwytywania na komputer lokalny.
Warunek wstępny
Musisz uruchomić interfejs wiersza polecenia platformy Azure w wersji 2.0.59 lub nowszej.
Uruchom polecenie az --version
, aby zweryfikować wersję. Aby zainstalować najnowszą wersję interfejsu wiersza polecenia platformy Azure, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure.
Identyfikowanie zasobnika i instalowanie narzędzia TCPdump
Zidentyfikuj nazwę zasobnika, z którego chcesz przechwycić pakiety TCP. Powinien to być zasobnik, który ma problemy z łącznością. Aby to zrobić, uruchom polecenie
kubectl get pods -A
, aby wyświetlić listę zasobników w klastrze usługi AKS. Poniżej przedstawiono przykładowe dane wyjściowe: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
Jeśli znasz przestrzeń nazw uruchomioną w zasobniku, możesz również uruchomić
kubectl get pods -n <namespace>
polecenie , aby uzyskać listę zasobników uruchomionych w tej przestrzeni nazw.Połącz się z zasobnikiem zidentyfikowanym w poprzednim kroku. Następujące polecenia używają nazwy zasobnika "azure-vote-front-848767080-tf34m". Zastąp je poprawną nazwą zasobnika. Jeśli zasobnik nie znajduje się w domyślnej przestrzeni nazw, należy dodać
--namespace
parametr dokubectl exec
polecenia .kubectl exec azure-vote-front-848767080-tf34m -it -- /bin/bash
Po nawiązaniu połączenia z zasobnikiem uruchom polecenie
tcpdump --version
, aby określić, czy zainstalowano narzędzie TCPdump. Jeśli zostanie wyświetlony komunikat "Nie znaleziono polecenia", uruchom następujące polecenie, aby zainstalować narzędzie TCPdump w zasobniku:apt-get update && apt-get install tcpdump
Jeśli zasobnik korzysta z systemu Alpine Linux, uruchom następujące polecenie, aby zainstalować narzędzie TCPdump:
apk add tcpdump
Przechwytywanie pakietów TCP i zapisywanie ich w katalogu lokalnym
Uruchom polecenie
tcpdump -s 0 -vvv -w /capture.cap
, aby rozpocząć przechwytywanie pakietów TCP na zasobniku.Po zakończeniu przechwytywania pakietów zamknij sesję powłoki zasobnika.
Uruchom następujące polecenie, aby zapisać pakiety w bieżącym katalogu:
kubectl cp azure-vote-front-848767080-tf34m:/capture.cap capture.cap
Skontaktuj się z nami, aby uzyskać pomoc
Jeśli masz pytania lub potrzebujesz pomocy, utwórz wniosek o pomoc techniczną lub zadaj pytanie w społeczności wsparcia dla platformy Azure. Możesz również przesłać opinię o produkcie do społeczności opinii na temat platformy Azure.