Delen via


Een Windows-containerdumpbestand vastleggen vanuit een Windows-knooppunt in een AKS-cluster

Als een Windows-container mislukt in een AKS-cluster (Microsoft Azure Kubernetes Service), moet u mogelijk het Dump-bestand van de Windows-container onderzoeken om de hoofdoorzaak te onderzoeken. Dit artikel bevat stappen voor het vastleggen van een Windows-containerdumpbestand van een Windows-knooppunt in een AKS-cluster. Het bevat ook instructies voor het downloaden van het dumpbestand naar uw lokale computer voor verdere analyse.

Voorwaarden

  • Een AKS-cluster. Als u geen AKS-cluster hebt, maakt u er een met behulp van Azure CLI of via Azure Portal.

  • Windows-agentgroepen die worden gemaakt na 3/13/2024 of een knooppuntinstallatiekopieën die zijn bijgewerkt naar de versie van de Windows-installatiekopieën van 20240316 AKS of een latere versie. U kunt ook controleren of de windowsCSEScriptsPackage-versie v0.0.39 of hoger is, die zich op de Windows-knooppunten kan bevinden C:\AzureData\CustomDataSetupScript.log .

Stap 1: Metagegevens van aantekeningen toevoegen aan uw implementatie

Koppel een hostmap in de container en voeg de metagegevens van aantekeningen toe om aan te vragen dat het dumpbestand in een aangewezen map wordt opgeslagen in de Windows-container:

metadata:
  ...
  annotations:
    "io.microsoft.container.processdumplocation": "C:\\CrashDumps\\{container_id}"
    "io.microsoft.wcow.processdumptype": "mini"
    "io.microsoft.wcow.processdumpcount": "10"
spec:
  ...
  containers:
  - name: containername
    image: ...
    ...
    volumeMounts:
      - mountPath: C:\CrashDumps
        name: local-dumps
  volumes:
  - name: local-dumps
    hostPath:
      path: C:\k\containerdumps
      type: DirectoryOrCreate

Stap 2: Reproduceer het probleem

Implementeer uw implementatie opnieuw en wacht tot de Windows-container is mislukt. U kunt gebruiken kubectl describe pod -n [POD-NAMESPACE] [POD-NAME] om te leren welk AKS Windows-knooppunt als host fungeert voor de pod.

Stap 3: Verbinding maken met het Windows-knooppunt

Maak een verbinding met het AKS-clusterknooppunt. U verifieert zich met behulp van een SSH-sleutel (Secure Shell) of het Windows-beheerderswachtwoord in een RDP-verbinding (Remote Desktop Protocol). Voor beide methoden moet u een tussenliggende verbinding maken. Dit komt doordat u momenteel geen rechtstreekse verbinding kunt maken met het AKS Windows-knooppunt. Of u nu verbinding maakt met een knooppunt via SSH of RDP, u moet de gebruikersnaam voor de AKS-knooppunten opgeven. Deze gebruikersnaam is azureuserstandaard .

Als u een SSH-sleutel hebt, maakt u een SSH-verbinding met het Windows-knooppunt. De SSH-sleutel blijft niet behouden op uw AKS-knooppunten. De SSH-sleutel keert terug naar wat in eerste instantie op het cluster is geïnstalleerd tijdens een van de volgende acties:

  • Opnieuw starten
  • Versie-upgrade
  • Upgrade van knooppuntinstallatiekopie

Stap 4: het dumpbestand lokaal overdragen

Nadat de container is mislukt, identificeert u de helperpod zodat u het dumpbestand lokaal kunt kopiëren. Open een tweede console en haal vervolgens een lijst met pods op door de kubectl get pods opdracht als volgt uit te voeren:

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

De helper-pod heeft een voorvoegsel van node-debugger-aks, zoals wordt weergegeven in de derde rij. Vervang de podnaam en voer vervolgens de volgende SCP-opdrachten (Secure Copy) uit om de dumpbestanden (.dmp) op te halen die worden opgeslagen wanneer de container mislukt:

scp -o 'ProxyCommand ssh -p 2022 -W %h:%p azureuser@127.0.0.1' azureuser@10.240.0.97:/C:/k/containerdumps/{container_id}/{application}.dmp .

U kunt de C:\k\containerdumps map weergeven om het volledige pad van de dumpbestanden te vinden nadat de verbinding met het Windows-knooppunt is gemaakt.

Contacteer ons voor hulp

Als u vragen hebt of hulp nodig hebt, maak een ondersteuningsaanvraag of vraag de Azure-communityondersteuning. U kunt ook productfeedback verzenden naar de Azure-feedbackcommunity.