Delen via


Problemen met Azure Kubernetes Service-clusters of -knooppunten met de status Mislukt oplossen

In dit artikel wordt beschreven hoe u problemen kunt oplossen met een AKS-cluster (Microsoft Azure Kubernetes Service) of knooppunt dat de status Mislukt invoert.

Veelvoorkomende oorzaken

Hier volgen de veelvoorkomende oorzaken van een mislukt cluster of knooppuntgroep:

Oorzaak Verwijzing
Fout bij het inrichten van de extensie voor aangepaste scriptextensie (CSE) voor virtuele machines (VM) Problemen met niet-gereed knooppunten oplossen die worden veroorzaakt door CSE-fouten
Belangrijke Azure-resources zijn niet beschikbaar
VM-toewijzingsfout vanwege geen zonegebonden/regionale capaciteit
VM-toewijzingsfout vanwege een overschreden kernquotum Fout met quotumexceed
Door de klant opgelegde beperkingen
Problemen met workload

Basisproblemen oplossen van veelvoorkomende fouten waardoor een cluster/knooppunt mislukt

De volgende tabel bevat een overzicht van enkele veelvoorkomende fouten die ertoe kunnen leiden dat een cluster of knooppunt een mislukte status, hun beschrijvingen en basismethoden voor probleemoplossing invoert om deze fouten op te lossen.

Fout Beschrijving Methode voor probleemoplossing
UitgaandeconnFailVMExtensionError Deze fout geeft aan dat de VM-extensie niet kan worden geïnstalleerd of bijgewerkt vanwege een gebrek aan uitgaande connectiviteit. Controleer de netwerkbeveiligingsgroepregels (NSG) en firewallinstellingen van de VM of VM-schaalset. Zorg ervoor dat de VM of VM-schaalset toegang heeft tot deze eindpunten: https://aka.ms/aks/outbound, https://aka.ms/aks/ssh, https://aka.ms/aks/agenten https://aka.ms/aks/containerinsights.
Leegloopfout Deze fout geeft aan dat het knooppunt niet kan worden leeggegaan voordat de upgradebewerking wordt uitgevoerd. Controleer de podstatus en -gebeurtenissen op het knooppunt met behulp van de kubectl-opdrachten: kubectl get pods --all-namespaces -o wide en kubectl describe pod <pod-name> -n <namespace>. Zoek naar pods die vastzitten in een beëindigde of onbekende status of met eventuele fouten of waarschuwingen in de gebeurtenissen. Mogelijk moet u de pods geforceerd verwijderen of de kubelet-service opnieuw starten op het knooppunt.
Fout SubscriptionNotRegistered Deze fout geeft aan dat het abonnement niet is geregistreerd voor het gebruik van de AKS-resourceprovider. Registreer het abonnement met behulp van de az provider register --namespace Microsoft.ContainerService opdracht.
RequestDisallowedByPolicy-fout Deze fout geeft aan dat de bewerking wordt geblokkeerd door een beleid dat is toegepast op het abonnement of de resourcegroep. Bekijk de beleidsdetails en beleidstoewijzingsbereiken. Als u de bewerking wilt toestaan, moet u het beleid mogelijk wijzigen of uitsluiten.
QuotumExceeded-fout Deze fout geeft aan dat de bewerking de quotumlimiet voor een resourcetype of een regio overschrijdt. Controleer de huidige quotumgebruiks- en quotumlimiet voor het resourcetype of de regio met behulp van Azure Portal, Azure CLI of Azure PowerShell. Mogelijk moet u enkele ongebruikte resources verwijderen of een quotumverhoging aanvragen.
PublicIPCountLimitReached-fout Deze fout geeft aan dat de bewerking het maximum aantal openbare IP-adressen bereikt dat kan worden gemaakt in een abonnement of regio. Controleer het huidige gebruik van openbare IP-adressen en limieten voor het abonnement of de regio met behulp van Azure Portal, Azure CLI of Azure PowerShell. Mogelijk moet u enkele ongebruikte openbare IP-adressen verwijderen of een verhoging aanvragen van de limiet voor openbare IP-adressen.
Fout OverconstrainedAllocationRequest Deze fout geeft aan dat de bewerking de aangevraagde VM-grootte in een regio niet kan toewijzen. Controleer de beschikbaarheid van de VM-grootte in de regio met behulp van Azure Portal, Azure CLI of Azure PowerShell. Mogelijk moet u een andere VM-grootte of een andere regio kiezen.
ReadOnlyDisabledSubscription-fout Deze fout geeft aan dat het abonnement momenteel is uitgeschakeld en is ingesteld op alleen-lezen. Controleer en pas de abonnementsmachtigingen aan, omdat het abonnement mogelijk is onderbroken vanwege factureringsproblemen, verlopen tegoed of beleidsschendingen.

Eenvoudige probleemoplossing van andere mogelijke problemen waardoor een cluster/knooppunt mislukt

In deze tabel worden andere mogelijke problemen beschreven die ertoe kunnen leiden dat een cluster of knooppunt de status Mislukt, hun beschrijvingen en oplossingen invoert om deze problemen op te lossen.

Probleem Beschrijving Oplossing
De subnetgrootte is te klein De bewerking kan het cluster niet maken of bijwerken omdat het subnet onvoldoende ruimte heeft voor het vereiste aantal knooppunten. Verwijder de knooppuntgroep en maak een nieuwe met een grotere subnetgrootte met behulp van Azure Portal, Azure CLI of Azure PowerShell.
Het virtuele netwerk is geblokkeerd De bewerking kan niet worden gedeeld met de cluster-API-server of het Kubernetes-besturingsvlak omdat de firewall of een aangepaste DNS-instelling (Domain Name System) de uitgaande verbindingen van de knooppunten blokkeert. Sta het verkeer van het knooppunt op de firewall toe en stel de DNS-omzetting in naar Azure met behulp van Azure Portal, Azure CLI of Azure PowerShell.
PDB-problemen De bewerking kan het cluster niet bijwerken omdat een PDB het verwijderen van een of meer pods heeft gestopt. Een PDB is een resource die beperkt hoeveel pods vrijwillig kunnen worden beëindigd gedurende een specifieke periode. Verwijder de PDB tijdelijk, stem het cluster af en voeg de PDB vervolgens opnieuw toe met behulp van het opdrachtregelprogramma kubectl.
Problemen met infrastructuur De bewerking kan het cluster niet bijwerken vanwege een intern probleem met de Azure Resource Manager-service (ARM) die resources beheert in Azure. Voer een afstemming van een agentpool uit voor elke knooppuntgroep en een afstemming voor het beheerde cluster met behulp van de Azure CLI of Azure PowerShell.
API-serverfouten De bewerking kan de cluster-API-server of het Kubernetes-besturingsvlak niet bereiken vanwege een storing of een fout. Meld het aan het ondersteuningsteam van AKS en geef de relevante logboeken en diagnostische gegevens op. U kunt de logboeken en diagnostische gegevens ophalen met behulp van Azure Portal, Azure CLI of Azure PowerShell.

Notitie

  • De bewerking die in de vorige tabel wordt genoemd, verwijst naar een updatebewerking (PUT) die wordt geactiveerd vanuit de kant van de klant.
  • In Kubernetes bevindt zich een onderdeel binnen een controller. Het zorgt voor de werkelijke status van de wereld, met inbegrip van de clusterstatus en mogelijk externe statussen, zoals het uitvoeren van containers voor Kubelet of load balancers voor een cloudprovider. Deze wordt uitgelijnd met de gewenste status die is opgegeven in een object. Dit uitlijningsproces is een belangrijke functie van de controller. Voor AKS zorgt dit onderdeel ervoor dat de status van het AKS-cluster overeenkomt met de gewenste configuratie. Voer uit az resource update --ids <AKS cluster id>om het handmatig te activeren. U kunt de AKS-cluster-id ophalen door deze uit te voeren az aks show -n <cluster name> -g <cluster resource group> -o json --query id. Als er verschillen zijn tussen de werkelijke en gewenste toestanden, moet u de nodige acties ondernemen om deze verschillen te corrigeren.

Controle van inrichtingsstatus

Als u de clusterstatus wilt controleren, selecteert u Inrichtingsstatuscontrole. Vervolgens wordt de inrichtingsstatus van het cluster en de agentgroep weergegeven.

Schermopname van de optie Inrichtingsstatuscontrole.

Scenario 1: Cluster heeft de status Mislukt

U kunt dit probleem oplossen door de bewerking op te halen die de fout veroorzaakt en de fout te achterhalen. Hier volgen twee veelvoorkomende bewerkingsfouten die kunnen leiden tot een mislukt cluster:

  • Cluster maken mislukt
  • Clusterupgrade is mislukt

Als een recent gemaakt of bijgewerkt cluster de status Mislukt heeft, gebruikt u de volgende methoden om de fout op te lossen:

Het activiteitenlogboek voor een mislukt cluster weergeven met behulp van Azure Portal

Voer de volgende stappen uit om de activiteitenlogboeken voor een mislukt cluster in Azure Portal weer te geven:

  1. Ga in Azure Portal naar de pagina Resourcegroepen en selecteer de resourcegroep die uw cluster bevat.

  2. Selecteer op de pagina Overzicht de clusternaam in de lijst met resources.

  3. Selecteer op de clusterpagina het activiteitenlogboek in het menu links.

  4. Op de pagina Activiteitenlogboek kunt u gebeurtenissen filteren op status, tijdspanne, gebeurtenis geïnitieerd door en gebeurteniscategorie. U kunt bijvoorbeeld Mislukt selecteren in de vervolgkeuzelijst Status om alleen mislukte gebeurtenissen weer te geven.

    Schermopname van het filteren van gebeurtenissen op de pagina Activiteitenlogboek.

  5. Als u de details van een gebeurtenis wilt controleren, selecteert u de naam van de gebeurtenis in de lijst. Er wordt een nieuw deelvenster geopend met de gebeurtenissamenvatting, eigenschappen en JSON-gegevens. U kunt de JSON-gegevens ook downloaden als een bestand.

  6. Als u de foutcode en het bericht wilt controleren dat aan de gebeurtenis is gekoppeld, schuift u omlaag naar de sectie Status in het gebeurtenisoverzicht. U kunt ook de foutinformatie vinden in de eigenschappen en JSON-gegevenssecties.

Het activiteitenlogboek voor een mislukt cluster weergeven met behulp van de Azure CLI

Als u liever Azure CLI gebruikt om het activiteitenlogboek voor een mislukt cluster weer te geven, voert u de volgende stappen uit:

  1. Installeer Azure CLI op uw computer en meld u aan met uw Azure-account.

  2. Vermeld de resourcegroepen in uw abonnement met behulp van de az group list opdracht en zoek de naam van de resourcegroep die uw cluster bevat.

  3. Vermeld de resources in de resourcegroep met behulp van de az resource list opdracht met de --resource-group parameter en zoek de naam van het cluster.

  4. Vermeld het activiteitenlogboek van het cluster met behulp van de az monitor activity-log list opdracht met de --resource-group en --resource parameters. U kunt ook de --statusparameters , --start-time, --end-time--calleren --filter parameters gebruiken om gebeurtenissen te filteren op verschillende criteria. U kunt bijvoorbeeld alleen --status Failed mislukte gebeurtenissen zien.

  5. Geef de details van een specifieke gebeurtenis weer met behulp van de az monitor activity-log show opdracht met de --resource-group, --resourceen --event-id parameters. U vindt de gebeurtenis-id uit de uitvoer van de vorige opdracht. De uitvoer bevat de gebeurtenissamenvatting, eigenschappen en JSON-gegevens. U kunt de --output parameter ook gebruiken om de uitvoerindeling te wijzigen.

  6. Als u de foutcode en het bericht wilt zien dat aan de gebeurtenis is gekoppeld, zoekt u het statusMessage veld in de opdrachtuitvoer. U kunt ook de foutinformatie vinden in de eigenschappen en JSON-gegevenssecties.

    Schermopname van JSON-gegevens.

De AKS-functie Problemen vaststellen en oplossen gebruiken voor een mislukt cluster

Navigeer in Azure Portal naar uw AKS-clusterresource en selecteer Problemen vaststellen en oplossen in het linkermenu. U ziet een lijst met categorieën en scenario's die u kunt selecteren om diagnostische controles uit te voeren en aanbevolen oplossingen te krijgen.

Gebruik in de Azure CLI de az aks collect opdracht met de --name en --resource-group parameters om diagnostische gegevens van uw clusterknooppunten te verzamelen. U kunt ook de --storage-account en --sas-token parameters gebruiken om een Azure Storage-account op te geven waar de gegevens worden geüpload. De uitvoer bevat een koppeling naar de blade Problemen vaststellen en oplossen, waar u de resultaten en voorgestelde acties kunt bekijken.

Op de blade Problemen vaststellen en oplossen kunt u Clusterproblemen selecteren als categorie. Als er problemen worden gedetecteerd, ziet u een lijst met mogelijke oplossingen die u kunt volgen om deze op te lossen.

Schermopname van mogelijke oplossingen in de portal Problemen vaststellen en oplossen.

Scenario 2: Knooppunt heeft de status Mislukt

In zeldzame gevallen kan een loskoppelbewerking van Azure Disk gedeeltelijk mislukken, waardoor de knooppunt-VM de status Mislukt heeft.

U kunt dit probleem oplossen door de VM-status handmatig bij te werken met een van de volgende methoden:

  • Voer voor een cluster dat is gebaseerd op een beschikbaarheidsset de volgende az vm update command uit:

    az vm update --resource-group <resource-group-name> --name <vm-name>
    
  • Voer voor een cluster dat is gebaseerd op een VM-schaalset de volgende opdracht az vmss update-instances uit:

    az vmss update-instances --resource-group <resource-group-name> --name <scale-set-name> --instance-id <vm-or-scale-set-id>
    

Scenario 3: Knooppuntgroep heeft de status Mislukt

Dit probleem kan optreden wanneer de VM-schaalset of beschikbaarheidsset die een back-up maakt van de knooppuntgroep een fout ondervindt tijdens het inrichten, schalen of bijwerken. Dit probleem kan worden veroorzaakt door onvoldoende capaciteit, quotumlimieten, netwerkproblemen, beleidsschendingen, resourcevergrendelingen of andere factoren die verhinderen dat de VM correct wordt toegewezen of geconfigureerd.

Volg deze stappen om dit probleem op te lossen:

  1. Controleer de status van de knooppuntgroep met behulp van de az aks nodepool show opdracht. Als de inrichtingsstatus is Failed, ziet u het foutbericht en de code in de uitvoer.
  2. Controleer de status van de VM-schaalset of beschikbaarheidsset met behulp van de az vmss show of az vm availability-set show opdracht. Als de inrichtingsstatus is Failed, ziet u het foutbericht en de code in de uitvoer.
  3. Controleer de status van de afzonderlijke VM in de knooppuntgroep met behulp van de az vmss list-instances of az vm list opdracht. Als een vm een Failed of Unhealthy meer statussen heeft, ziet u het foutbericht en de code in de uitvoer.
  4. Controleer het activiteitenlogboek en de diagnostische instelling van de VM-schaalset of beschikbaarheidsset om te zien of er gebeurtenissen of waarschuwingen zijn die de oorzaak van de fout aangeven. U kunt de Azure-portal, Azure CLI of Azure Monitor-API gebruiken voor toegang tot het activiteitenlogboek en de diagnostische instelling.
  5. Controleer het quotum en de capaciteit van de regio en het abonnement waar de knooppuntgroep is geïmplementeerd. U kunt de az vm list-usage opdracht of Azure Portal gebruiken om het quotum en de capaciteit te controleren. Als de quotum- of capaciteitslimiet is bereikt, kunt u een verhoging aanvragen of een aantal ongebruikte resources verwijderen.
  6. Controleer het beleid en de roltoewijzingen van de knooppuntgroep. U kunt de az policy en opdrachten of az role Azure Portal gebruiken om de beleidsdefinities, toewijzingen, naleving en uitzonderingen te controleren. U kunt ook de roltoewijzingen en machtigingen van de knooppuntgroep controleren met behulp van de az role assignment opdracht of Azure Portal.
  7. Controleer de resourcevergrendelingen van de knooppuntgroep. U kunt de az lock opdracht of Azure Portal gebruiken om het vergrendelingsniveau, het bereik en de notities te controleren. U kunt de vergrendeling ook verwijderen of bijwerken indien nodig.

Andere hulpprogramma's voor logboekregistratie en diagnostische gegevens

Als de vorige methoden voor probleemoplossing uw probleem niet oplossen, kunt u de volgende hulpprogramma's voor logboekregistratie en diagnostische gegevens gebruiken om meer informatie te verzamelen en de hoofdoorzaak te identificeren:

  • Azure Monitor voor containers:

    Deze service verzamelt en analyseert metrische gegevens en logboeken van AKS-clusters en de knooppunten. Azure Monitor voor containers kan de status, prestaties en beschikbaarheid van clusters en knooppunten bewaken. U kunt deze ook gebruiken om containerlogboeken, kubelet-logboeken en diagnostische logboeken voor opstarten van knooppunten weer te geven.

  • AKS Periscope

    Met dit hulpprogramma worden knooppunt- en podlogboeken, netwerkgegevens en clusterconfiguratie van een AKS-cluster verzameld en geüpload naar een Azure-opslagaccount. Dit hulpprogramma kan u helpen bij het oplossen van veelvoorkomende clusterproblemen, zoals DNS-resolutie, netwerkverbinding en knooppuntstatus. U kunt deze ook gebruiken om een ondersteuningsaanvraag te genereren met de verzamelde logboeken bijgevoegd.

  • Diagnostische gegevens van AKS

    Dit hulpprogramma voert een reeks controles uit op AKS-clusters en de knooppunten en biedt aanbevelingen en herstelstappen voor veelvoorkomende problemen. Dit hulpprogramma kan u helpen bij het oplossen van problemen met betrekking tot het maken van clusters, upgraden, schalen, netwerken, opslag en beveiliging. U kunt deze ook gebruiken om een ondersteuningsaanvraag te genereren met de bijgevoegde diagnostische resultaten.

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.