Delen via


Problemen met hoog CPU-gebruik in AKS-clusters oplossen

Hoog CPU-gebruik is een symptoom van een of meer toepassingen of processen die zoveel CPU-tijd vereisen dat de prestaties of bruikbaarheid van de machine worden beïnvloed. Hoog CPU-gebruik kan op veel manieren optreden, maar dit wordt meestal veroorzaakt door de gebruikersconfiguratie.

Wanneer een knooppunt in een AKS-cluster (Azure Kubernetes Service) een hoog CPU-gebruik ondervindt, kunnen de toepassingen die erop worden uitgevoerd, afnemen in prestaties en betrouwbaarheid. Toepassingen of processen worden ook instabiel, wat kan leiden tot problemen die verder gaan dan trage reacties.

Dit artikel helpt u bij het identificeren van de knooppunten en containers die een hoog CPU-gebruik verbruiken en biedt aanbevolen procedures om hoog CPU-gebruik op te lossen.

Symptomen

De volgende tabel bevat een overzicht van de veelvoorkomende symptomen van hoog CPU-gebruik:

Symptoom Beschrijving
CPU-honger CPU-intensieve toepassingen vertragen andere toepassingen op hetzelfde knooppunt.
Trage statuswijzigingen Pods kunnen langer duren om klaar te zijn.
Status notReady-knooppunt Een knooppunt voert de status NotReady in. Dit probleem treedt op omdat de container met een hoog CPU-gebruik ervoor zorgt dat het Kubectl-opdrachtregelprogramma niet reageert.

Controlelijst voor probleemoplossing

Als u een hoog CPU-gebruik wilt oplossen, gebruikt u effectieve bewakingshulpprogramma's en past u best practices toe.

Stap 1: knooppunten/containers identificeren met een hoog CPU-gebruik

Gebruik een van de volgende methoden om knooppunten en containers met een hoog CPU-gebruik te identificeren:

  • Gebruik in een webbrowser de functie Container Insights van AKS in Azure Portal.

  • Gebruik in een console het kubernetes-opdrachtregelprogramma (kubectl).

Container Insights is een functie in AKS. Het is ontworpen om de prestaties van containerworkloads te bewaken. U kunt Container insights gebruiken om knooppunten, containers of pods te identificeren die een hoog CPU-gebruik stimuleren.

Volg deze stappen om knooppunten, containers of pods te identificeren die een hoog CPU-gebruik stimuleren:

  1. Navigeer vanuit Azure Portal naar het cluster.

  2. Selecteer Inzichten onder Monitoring.

    Schermopname van de bewaking onder Inzichten

  3. Stel het juiste tijdsbereik in.

    Schermopname van een tijdsbereik van zes uur.

  4. Zoek de knooppunten met een hoog CPU-gebruik en controleer of het CPU-gebruik van het knooppunt stabiel is.

    Selecteer Knooppunten. Stel metrische waarde in op CPU-gebruik (millicores) en stel het voorbeeld vervolgens in op Max. Gebruik de sorteerfunctie op max om de knooppunten te orden op max%. De knooppunten met het hoogste CPU-gebruik worden bovenaan weergegeven.

    In de volgende schermopname gebruikt het knooppunt slechts 12% van de maximale CPU en wordt 16 dagen uitgevoerd.

    Schermopname van de knooppunten onder de selectie Bewaking.

  5. Zodra u de knooppunten met een hoog CPU-gebruik hebt gevonden, selecteert u de knooppunten om pods op deze knooppunten en hun CPU-gebruik te vinden.

    Schermopname van de optie Inzichten voor pods onder de selectie Bewaking.

    Notitie

    Het percentage CPU- of geheugengebruik voor pods is gebaseerd op de CPU-aanvraag die is opgegeven voor de container. Het vertegenwoordigt niet het percentage van het CPU- of geheugengebruik voor het knooppunt. Bekijk dus het werkelijke CPU- of geheugengebruik in plaats van het percentage CPU- of geheugengebruik voor pods.

    Zodra u de lijst met pods met een hoog CPU-gebruik hebt, kunt u deze toewijzen aan de toepassingen die de piek in het CPU-gebruik veroorzaken.

Stap 2: Best practices bekijken om hoog CPU-gebruik te voorkomen

Raadpleeg de volgende tabel voor meer informatie over het implementeren van aanbevolen procedures voor het voorkomen van hoog CPU-gebruik:

Best practice Beschrijving
De juiste limieten instellen voor containers Kubernetes staat het opgeven van aanvragen en limieten voor de resources voor containers toe. Resourceaanvragen en -limieten vertegenwoordigen het minimum- en maximumaantal resources dat een container kan gebruiken. U wordt aangeraden de juiste aanvragen en limieten in te stellen om de juiste QoS-klasse (Kubernetes Quality of Service) voor elke pod te kiezen.
Horizontale automatische schaalaanpassing van pods (HPA) inschakelen Het instellen van de juiste limieten in combinatie met het inschakelen van HPA kan helpen hoog CPU-gebruik op te lossen.
Hogere SKU-VM's selecteren Gebruik hogere SKU-VM's om workloads met hoog CPU-gebruik te verwerken. Hiervoor maakt u een nieuwe knooppuntgroep, bakent u de knooppunten af om ze niet-planbaar te maken en leegt u de bestaande knooppuntgroep.
Systeem- en gebruikersworkloads isoleren U wordt aangeraden een afzonderlijke knooppuntgroep (anders dan de agentgroep) te maken om uw workloads uit te voeren. Dit kan overbelasting van de systeemknooppuntgroep voorkomen en betere prestaties leveren.

Verwijzingen

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.