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 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, de prestaties en betrouwbaarheid verminderen. 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 een hoog CPU-gebruik op te lossen.
Symptomen
In de volgende tabel worden de veelvoorkomende symptomen van hoog CPU-gebruik beschreven:
Symptoom | Beschrijving |
---|---|
CPU-honger | CPU-intensieve toepassingen vertragen andere toepassingen op hetzelfde knooppunt. |
Trage statuswijzigingen | Het kan langer duren voordat pods klaar zijn. |
NotReady-knooppuntstatus | Een knooppunt voert de notReady-status in. Dit probleem treedt op omdat de container met een hoog CPU-gebruik ervoor zorgt dat het kubectl-opdrachtregelprogramma niet meer 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 met een hoog CPU-gebruik identificeren
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 de Azure Portal.
Gebruik in een console het kubernetes-opdrachtregelprogramma (kubectl).
Container Insights is een functie binnen 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.
Voer de volgende stappen uit om knooppunten, containers of pods te identificeren die een hoog CPU-gebruik stimuleren:
Navigeer vanuit de Azure Portal naar het cluster.
Selecteer onder Bewakingde optie Inzichten.
Stel het juiste tijdsbereik in.
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 in op Max. Gebruik de sorteerfunctie op max om de knooppunten te rangschikken 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 is het al 16 dagen actief.
Zodra u de knooppunten met een hoog CPU-gebruik hebt gevonden, selecteert u de knooppunten om pods en hun CPU-gebruik te zoeken.
Opmerking
Het cpu- of geheugengebruikspercentage voor pods is gebaseerd op de CPU-aanvraag die is opgegeven voor de container. Het geeft niet het percentage van het CPU- of geheugengebruik voor het knooppunt aan. Kijk dus naar 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 weergegeven, 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
Bekijk de volgende tabel voor meer informatie over het implementeren van best practices om hoog CPU-gebruik te voorkomen:
Aanbevolen procedures | Beschrijving |
---|---|
Geschikte limieten instellen voor containers | Met Kubernetes kunt u aanvragen en limieten opgeven voor de resources voor containers. 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 (Quality of Service) voor Kubernetes te kiezen voor elke pod. |
Horizontale automatische schaalaanpassing van pods (HPA) inschakelen | Het instellen van de juiste limieten en het inschakelen van HPA kan helpen bij het oplossen van hoog CPU-gebruik. |
Hogere SKU-VM's selecteren | Gebruik hogere SKU-VM's om workloads met een hoog CPU-gebruik af te handelen. Maak hiervoor een nieuwe knooppuntgroep, sluit de knooppunten af zodat ze niet kunnen worden gepland en verwijder 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 bieden. |
Verwijzingen
- Overzicht van Container Insights
- De prestaties van uw Kubernetes-cluster bewaken met Container Insights
- De Container Insights-agent beheren
- Resourcelimieten
- Resourcequota
- Limietbereiken
- Quality of Service
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 Feedback-community van Azure.