Alerte Prometheus CPU high sur nodepool

Posté par zblot le 08/04/2025
RÉSOLU

zblot

Membre depuis le 19/02/2020

hello la team ! alerte cpu high sur un nodepool k8s mais j'comprends pas pourquoi. l'alerte est sur le cpu total de l'instance pas sur un pod en particulier. quand je regarde les pods du nodepool y'a rien qui sature, tout est à 10-20% max. les instances sont à genre 90% cpu utilisation. qqun a une idée de ce qui peut manger le cpu à ce point sans que ce soit un pod spécifique ?

Commentaires

texier-stephanie

Membre depuis le 04/04/2025

yo t'as regardé les cgroups limits et requests de tes pods ? parfois les pods sont configurés pour demander peu de cpu mais ils peuvent en burst beaucoup et quand t'en as plein qui font ça en même temps ça sature la machine. ou alors c'est le kernel lui-même qui galère genre des softirqs ou des trucs liés au networking

zblot

Membre depuis le 19/02/2020

les limits sont bien configurées on a des requêtes assez basses et des limits 2x les requêtes. les softirqs c'est une piste intéressante. comment je check ça ? c'est quoi la métrique prometheus pour ça ?

texier-stephanie

Membre depuis le 04/04/2025

pour les softirqs regarde `node_cpu_seconds_total` avec le label `mode="softirq"`. tu peux aussi regarder `node_context_switches_total` ça peut monter si y'a trop de thread context switching. et vérifie aussi `kube_node_status_capacity_cpu_cores` vs `kube_node_status_allocatable_cpu_cores` pour voir ce qui est "réservé" pour k8s lui-même

theodore84

Membre depuis le 06/07/2021

une autre piste c'est les métriques collector de nodepool eux-mêmes. le node-exporter peut bouffer du cpu si tu as beaucoup de collectors activés ou si le scraping est trop fréquent. ou même kubelet parfois ça part en sucette

zblot

Membre depuis le 19/02/2020

j'ai checké les softirqs ça bouge pas énormément. par contre j'ai vu que `kube_node_status_allocatable_cpu_cores` est bien en dessous de la capacité, genre 80%. donc 20% du CPU de la machine est déjà bouffé par le système. mais même avec ça mes pods ne justifient pas les 90% d'utilisation

texier-stephanie

Membre depuis le 04/04/2025

est-ce que tu as des daemonsets qui tournent et qui sont super cpu-hungry ? genre un agent de monitoring ou de sécurité qui scanne tout le temps ? ou un driver de csi qui a des problèmes et qui boucle ?

theodore84

Membre depuis le 06/07/2021

si t'as des volumes réseau montés (genre NFS EFS) sur tes nodes, le kernel peut passer beaucoup de temps à gérer ça. des fois ça se voit pas comme du CPU user ou system classique mais ça prend des cycles. vérifie la latence de tes montages réseaux si y'en a

zblot

Membre depuis le 19/02/2020

bingo ! c'était un daemonset d'agent de sécurité qui avait une config défectueuse et scannait tous les fichiers du système en boucle. j'ai mis à jour sa config pour exclure certains chemins et le CPU est redescendu direct. merci pour les pistes cgroups et daemonsets !

Laisser une réponse

Vous devez être connecté pour poster un message !

Rejoindre la communauté

Recevoir les derniers articles gratuitement en créant un compte !

S'inscrire