Aracılığıyla paylaş


AKS kümesindeki bir Windows düğümünden TCP dökümü yakalama

Bir Microsoft Azure Kubernetes Service (AKS) kümesi kullanırken ağ sorunları oluşabilir. Bu sorunların araştırılmasına yardımcı olmak için, bu makalede AKS kümesindeki bir Windows düğümünden TCP dökümünü yakalama ve ardından yakalamayı yerel makinenize indirme işlemleri açıklanmaktadır.

Önkoşullar

1. Adım: Sorun giderecek düğümleri bulma

TCP dökümünü hangi düğümden çekebileceğinizi nasıl belirlersiniz? İlk olarak Kubernetes komut satırı istemcisi kubectl'yi kullanarak AKS kümesindeki düğümlerin listesini alırsınız. Kümeye bağlanmak için yönergeleri izleyin ve Azure portal veya Azure CLIkullanarak komutunu çalıştırınkubectl get nodes --output wide. Aşağıdaki çıkışa benzer bir düğüm listesi görüntülenir:

$ kubectl get nodes --output wide
NAME                                STATUS   ROLES   AGE     VERSION   INTERNAL-IP    EXTERNAL-IP   OS-IMAGE                         KERNEL-VERSION     CONTAINER-RUNTIME
akswin000000                        Ready    agent   3m8s    v1.20.9   10.240.0.4     <none>        Windows Server 2019 Datacenter   10.0.17763.2237    docker://20.10.6
akswin000001                        Ready    agent   3m50s   v1.20.9   10.240.0.115   <none>        Windows Server 2019 Datacenter   10.0.17763.2237    docker://20.10.6
akswin000002                        Ready    agent   3m32s   v1.20.9   10.240.0.226   <none>        Windows Server 2019 Datacenter   10.0.17763.2237    docker://20.10.6

2. Adım: Windows düğümüne bağlanma

Sonraki adım AKS kümesi düğümüne bağlantı kurmaktır. Secure Shell (SSH) anahtarı kullanarak veya Uzak Masaüstü Protokolü (RDP) bağlantısında Windows yönetici parolasını kullanarak kimlik doğrulaması yaparsınız. Şu anda AKS Windows düğümüne doğrudan bağlanamadığınız için her iki yöntem de ara bağlantı oluşturulmasını gerektirir. Bir düğüme SSH veya RDP aracılığıyla bağlansanız da AKS düğümleri için kullanıcı adını belirtmeniz gerekir. Varsayılan olarak, bu kullanıcı adı azureuser'dır.

SSH anahtarınız varsa Windows düğümüne bir SSH bağlantısı oluşturun. SSH anahtarı AKS düğümlerinizde kalıcı olmaz. SSH anahtarı, herhangi bir işlem sırasında başlangıçta kümede yüklü olan anahtara geri döner:

  • Yeni -den başlatma
  • Sürüm yükseltme
  • Düğüm görüntüsü yükseltme

3. Adım: Paket yakalama oluşturma

Windows düğümüne SSH veya RDP aracılığıyla bağlandığınızda, Windows komut isteminin bir biçimi görüntülenir:

azureuser@akswin000000 C:\Users\azureuser>

Şimdi bir komut istemi açın ve izlemeleri yakalamak için aşağıdaki Network Shell (netsh) komutunu girin (netsh izleme başlangıcı). Bu komut paket yakalama işlemini başlatır.

netsh trace start capture=yes tracefile=C:\Users\azureuser\AKS_node_name.etl 

Çıktı aşağıdaki metne benzer şekilde görünür:

Trace configuration:
-------------------------------------------------------------------
Status:             Running
Trace File:         AKS_node_name.etl
Append:             Off
Circular:           On
Max Size:           250 MB
Report:             Off

İzleme çalışırken sorununuzu birçok kez çoğaltın. Bu eylem, sorunun TCP dökümü içinde yakalanmasını sağlar. Sorunu çoğaltırken zaman damgasını not edin. İşiniz bittiğinde paket yakalamayı durdurmak için girin netsh trace stop:

azureuser@akswin000000 C:\Users\azureuser>netsh trace stop
Merging traces ... done
Generating data collection ... done
The trace file and additional troubleshooting information have been compiled as "C:\Users\azureuser\AKS_node_name.cab".
File location = C:\Users\azureuser\AKS_node_name.etl
Tracing session was successfully stopped.

4. Adım: Yakalamayı yerel olarak aktarma

Paket yakalama işlemini tamamladıktan sonra dökümü yerel olarak kopyalayabilmeniz için yardımcı podu tanımlayın. İkinci bir konsol açın ve aşağıda gösterildiği gibi komutunu çalıştırarak kubectl get podspodların listesini alın.

kubectl get pods
NAME                                                    READY   STATUS    RESTARTS   AGE
azure-vote-back-6c4dd64bdf-m4nk7                        1/1     Running   2          3d21h
azure-vote-front-85b4df594d-jhpzw                       1/1     Running   2          3d21h
node-debugger-aks-nodepool1-38878740-vmss000000-6ztp6   1/1     Running   0          3m58s

Yardımcı podunun, üçüncü satırda gösterildiği gibi ön eki node-debugger-aksvardır. Pod adını değiştirin ve aşağıdaki Güvenli Kopyalama (scp) komutlarını çalıştırın. Bu komutlar, paket yakalama için oluşturulan olay izleme günlüğünü (.etl) ve arşiv (.cab) dosyalarını alır.

scp -o 'ProxyCommand ssh -p 2022 -W %h:%p azureuser@127.0.0.1' azureuser@10.240.0.97:AKS_node_name.cab .
scp -o 'ProxyCommand ssh -p 2022 -W %h:%p azureuser@127.0.0.1' azureuser@10.240.0.97:AKS_node_name.etl .

Aşağıdaki metne benzer bir çıkış görüntülenir:

$ scp -o 'ProxyCommand ssh -p 2022 -W %h:%p azureuser@127.0.0.1' azureuser@10.240.0.97:AKS_node_name.cab .

Authorized uses only. All activity may be monitored and reported.
AKS_node_name.cab                                                                  100%  571KB 984.0KB/s   00:00

scp -o 'ProxyCommand ssh -p 2022 -W %h:%p azureuser@127.0.0.1' azureuser@10.240.0.97:AKS_node_name.etl .

Authorized uses only. All activity may be monitored and reported.
AKS_node_name.etl                                                                  100% 1536KB   1.3MB/s   00:01

Yardım için bize ulaşın

Sorularınız veya yardıma ihtiyacınız varsa bir destek isteği oluşturun veya Azure topluluk desteği isteyin. Ürün geri bildirimini Azure geri bildirim topluluğuna da gönderebilirsiniz.