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/agent en 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 voerenaz 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.
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:
Bekijk het activiteitenlogboek om de hoofdoorzaak van de fout te identificeren.
U kunt het activiteitenlogboek weergeven met behulp van Azure Portal, Azure CLI of Azure PowerShell.
In het activiteitenlogboek ziet u de foutcode en het bericht dat aan de fout is gekoppeld. Zie de algemene probleemoplossing van veelvoorkomende fouten die een cluster/knooppunt veroorzaken, voor meer informatie over specifieke fouten.
Gebruik de functie AKS-diagnose en probleemoplossing om veelvoorkomende problemen op te lossen.
Notitie
Deze functie is alleen beschikbaar in Azure Portal en Azure CLI.
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:
Ga in Azure Portal naar de pagina Resourcegroepen en selecteer de resourcegroep die uw cluster bevat.
Selecteer op de pagina Overzicht de clusternaam in de lijst met resources.
Selecteer op de clusterpagina het activiteitenlogboek in het menu links.
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.
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.
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:
Installeer Azure CLI op uw computer en meld u aan met uw Azure-account.
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.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.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--status
parameters ,--start-time
,--end-time
--caller
en--filter
parameters gebruiken om gebeurtenissen te filteren op verschillende criteria. U kunt bijvoorbeeld alleen--status Failed
mislukte gebeurtenissen zien.Geef de details van een specifieke gebeurtenis weer met behulp van de
az monitor activity-log show
opdracht met de--resource-group
,--resource
en--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.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.
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.
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:
- Controleer de status van de knooppuntgroep met behulp van de
az aks nodepool show
opdracht. Als de inrichtingsstatus isFailed
, ziet u het foutbericht en de code in de uitvoer. - Controleer de status van de VM-schaalset of beschikbaarheidsset met behulp van de
az vmss show
ofaz vm availability-set show
opdracht. Als de inrichtingsstatus isFailed
, ziet u het foutbericht en de code in de uitvoer. - Controleer de status van de afzonderlijke VM in de knooppuntgroep met behulp van de
az vmss list-instances
ofaz vm list
opdracht. Als een vm eenFailed
ofUnhealthy
meer statussen heeft, ziet u het foutbericht en de code in de uitvoer. - 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.
- 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. - Controleer het beleid en de roltoewijzingen van de knooppuntgroep. U kunt de
az policy
en opdrachten ofaz 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 deaz role assignment
opdracht of Azure Portal. - 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.
-
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.