Delen via


Basisprobleemoplossing voor opstartproblemen met AKS-clusters

In dit artikel vindt u een overzicht van de basismethoden voor probleemoplossing als u een AKS-cluster (Microsoft Azure Kubernetes Service) niet kunt starten.

Voorwaarden

Fouten van Azure CLI weergeven

Wanneer u clusters start met behulp van Azure CLI, worden fouten vastgelegd als uitvoer als de bewerking mislukt. U kunt als volgt een opdracht, gebruikersinvoer en bewerkingsuitvoer weergeven in een Bash console:

$ az aks start --resource-group myResourceGroup --name MyManagedCluster

(VMExtensionProvisioningError) Unable to establish outbound connection from agents, please see https://learn.microsoft.com/en-us/troubleshoot/azure/azure-kubernetes/error-code-outboundconnfailvmextensionerror and https://aka.ms/aks-required-ports-and-addresses for more information.  
Details: instance 3 has extension error details : {vmssCSE error messages : {vmssCSE exit status=50, output=AGE_SHA=sha-16fd35

Deze fouten bevatten vaak gedetailleerde beschrijvingen van wat er fout is gegaan in de startbewerking van het cluster en ze bieden koppelingen naar artikelen die meer informatie bevatten. Daarnaast kunt u onze artikelen over probleemoplossing gebruiken als referentie op basis van de fout die een Azure CLI-bewerking produceert.

Foutdetails weergeven in Azure Portal

Als u de details over fouten in Azure Portal wilt bekijken, bekijkt u het Activiteitenlogboek van Azure. Als u de lijst met activiteitenlogboeken in Azure Portal wilt vinden, zoekt u in het activiteitenlogboek. Of selecteer Meldingen (het belpictogram) en selecteer vervolgens Meer gebeurtenissen in het activiteitenlogboek.

De lijst met logboeken op de pagina Activiteitenlogboek bevat een regelvermelding waarin de kolomwaarde Bewerkingsnaam de naam Start Managed Cluster krijgt. De bijbehorende gebeurtenis die is geïnitieerd door kolomwaarde, wordt ingesteld op de naam van uw werk- of schoolaccount. Als de bewerking is geslaagd, wordt in de kolom Status de waarde Geaccepteerd weergegeven.

Schermopname van een blade activiteitenlogboek van een AKS-cluster met een mislukte startbewerking.

Wat gebeurt er als er in plaats daarvan een fout is opgetreden? In dat geval wordt in het veld Status van de bewerking Beheerd cluster starten de bewerking Mislukt weergegeven. In tegenstelling tot de bewerkingen voor het maken van clusteronderdelen, moet u hier de vermelding voor mislukte bewerkingen uitvouwen om de vermeldingen voor subbewerkingen te controleren. Typische suboperation-namen zijn beleidsacties, zoals 'controle' beleidsactie en 'auditIfNotExists'-beleidsactie. Sommige suboperaties blijven laten zien dat ze zijn geslaagd.

Als u verder wilt onderzoeken, kunt u een van de mislukte suboperaties selecteren. Er wordt een zijvenster geopend, zodat u meer informatie over de suboperation kunt bekijken. U kunt problemen met waarden voor velden oplossen, zoals Samenvatting, JSON en Wijzigingsgeschiedenis. Het JSON-veld bevat de uitvoertekst voor de fout in JSON-indeling en biedt meestal de meest nuttige informatie.

Schermopname van een suboperation-zijvenster van een activiteitenlogboek van een AKS-cluster met de reden waarom een startbewerking is mislukt.

Clusterinzichten weergeven

U kunt ook clusterinzichten genereren om u te helpen bij het oplossen van problemen via de blade Problemen vaststellen en oplossen in Azure Portal. Voer de volgende stappen uit om toegang te krijgen tot deze functie:

  1. Zoek en selecteer Kubernetes-services in Azure Portal.

  2. Selecteer de naam van uw AKS-cluster.

  3. Selecteer in het navigatiedeelvenster van de AKS-clusterpagina de optie Problemen vaststellen en oplossen.

  4. Selecteer op de pagina Problemen vaststellen en oplossen de koppeling Clusterinzichten . Het hulpprogramma voor clusterinzichten analyseert uw cluster en geeft vervolgens een lijst met de bevindingen in de sectie Observaties en oplossingen van de pagina Clusterinzichten .

  5. Selecteer een van de resultaten om meer informatie over een probleem en de mogelijke oplossingen ervan weer te geven.

Resources weergeven in Azure Portal

In Azure Portal wilt u mogelijk de resources weergeven die zijn gemaakt toen het cluster werd gebouwd. Deze resources bevinden zich meestal in een resourcegroep die begint met MC_. De resourcegroep van het beheerde cluster kan een naam hebben, zoals MC_MyResourceGroup_MyManagedCluster_<locatiecode>. De naam kan echter afwijken als u het cluster hebt gemaakt met behulp van een aangepaste clusterresourcegroep.

Als u de resourcegroep wilt zoeken, zoekt en selecteert u Resourcegroepen in Azure Portal en selecteert u vervolgens de resourcegroep waarin het cluster is gemaakt. De lijst met resources wordt weergegeven op de overzichtspagina van de resourcegroep.

Waarschuwing

Het is raadzaam om resources in de MC_ resourcegroep niet te wijzigen. Deze actie kan ongewenste effecten op uw AKS-cluster veroorzaken.

Als u de status van een virtuele-machineschaalset wilt controleren, kunt u de naam van de schaalset selecteren in de resourcelijst van de resourcegroep. Het kan een naam hebben die vergelijkbaar is met aks-nodepool1-12345678-vmss en een typewaarde van virtuele-machineschaalset. De status van de schaalset wordt boven aan de pagina Overzicht van de knooppuntgroep weergegeven en meer details worden weergegeven in de kop Essentials. Als de implementatie mislukt is, is de weergegeven status Mislukt.

Voor alle resources kunt u details bekijken om beter te begrijpen waarom de implementatie is mislukt. Voor een schaalset kunt u de tekst Mislukte status selecteren om details over de fout weer te geven. De details bevinden zich in een rij met de kolommen Status, Niveau en Code . In het volgende voorbeeld ziet u een rij met kolomwaarden.

Kolom Voorbeeldwaarde
Status Inrichten is mislukt
Niveau Fout
Code ProvisioningState/failed/VMExtensionProvisioningError

Selecteer de rij om het veld Bericht weer te geven. Dit bevat nog meer informatie over die fout. Het veld Bericht voor de voorbeeldrij begint bijvoorbeeld met de volgende tekst:

VM heeft een fout gerapporteerd bij het verwerken van de extensie 'vmssCSE'. Foutbericht: "Enable failed: failed to execute command: command terminated with exit status=50 [stdout] [stderr] 0 0 0 --: Gewapend met deze informatie, kunt u concluderen dat de VM's in de schaalset zijn mislukt en de afsluitstatus 50 hebben gegenereerd.

Kubectl-opdrachten gebruiken

Voor een andere optie voor het oplossen van fouten in uw cluster voert u kubectl-opdrachten in voor meer informatie over de resources die in het cluster zijn geïmplementeerd. Als u kubectl wilt gebruiken, meldt u zich eerst aan bij uw AKS-cluster:

az aks get-credentials --resource-group MyResourceGroup --name MyManagedCluster

Afhankelijk van het type fout en wanneer deze is opgetreden, kunt u zich mogelijk niet aanmelden bij uw cluster voor meer informatie. Maar als uw cluster is gemaakt en wordt weergegeven in Azure Portal, moet u zich kunnen aanmelden en kubectl-opdrachten uitvoeren.

Clusterknooppunten weergeven (kubectl get nodes)

Voor meer informatie om de status van de knooppunten te bepalen, bekijkt u de clusterknooppunten door de opdracht kubectl get-knooppunten in te voeren. In dit voorbeeld worden er geen knooppunten gerapporteerd in het cluster:

$ kubectl get nodes

No resources found

Pods weergeven in de systeemnaamruimte (kubectl get pods)

Het weergeven van de pods in de kube-system-naamruimte is ook een goede manier om uw probleem op te lossen. Met deze methode kunt u de status van de Kubernetes-systeempods bekijken. In dit voorbeeld voeren we de kubectl get pods opdracht in:

$ kubectl get pods -n kube-system
NAME                                  READY   STATUS    RESTARTS   AGE
coredns-845757d86-7xjqb               0/1     Pending   0          78m
coredns-autoscaler-5f85dc856b-mxkrj   0/1     Pending   0          77m
konnectivity-agent-67f7f5554f-nsw2g   0/1     Pending   0          77m
konnectivity-agent-8686cb54fd-xlsgk   0/1     Pending   0          65m
metrics-server-6bc97b47f7-dfhbr       0/1     Pending   0          77m

De status van een pod beschrijven (kubectl describe pod)

Door de status van de pods te beschrijven, kunt u de configuratiedetails en eventuele gebeurtenissen bekijken die op de pods zijn opgetreden. Voer de opdracht kubectl describe pod uit:

$ kubectl describe pod coredns-845757d86-7xjqb -n kube-system
Name:                 coredns-845757d86-7xjqb
Namespace:            kube-system
Priority:             2000001000
Priority Class Name:  system-node-critical
Node:                 <none>
Labels:               k8s-app=kube-dns
                      kubernetes.io/cluster-service=true
                      pod-template-hash=845757d86
                      version=v20
...
Events:
  Type     Reason            Age                 From               Message
  ----     ------            ----                ----               -------
  Warning  FailedScheduling  24m (x1 over 25m)   default-scheduler  no nodes available to schedule pods
  Warning  FailedScheduling  29m (x57 over 84m)  default-scheduler  no nodes available to schedule pods

In de uitvoer van de opdracht ziet u dat de pod niet kan worden geïmplementeerd op een knooppunt omdat er geen knooppunten beschikbaar zijn.

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.