mes clusters eks me coutent une blinde quand ils sont idle les auto-scalers marchent mal

mallet-philippe 17/08/2024
RÉSOLU
mallet-philippe
Auteur Actif
Avatar de mallet-philippe
mallet-philippe
Auteur Actif

bonsoir les finops warriors j'ai un gros coup de mou. nos clusters eks bouffent un max de thunes même quand y'a quasi rien qui tourne dessus. on a l'autoscaler de cluster (cluster autoscaler) mais j'ai l'impression qu'il est aveugle. les noeuds restent up pendant des plombes alors qu'ils sont vides. comment vous gérez ça pour vraiment couper les coûts sur de l'eks à vide ?


# exemple de node non scaledown
kubectl get nodes
NAME                                           STATUS   ROLES    AGE     VERSION
ip-10-0-0-1.eu-west-3.compute.internal         Ready       3d22h   v1.27.7-eks-81b49f7
ip-10-0-0-2.eu-west-3.compute.internal         Ready       3d22h   v1.27.7-eks-81b49f7
ip-10-0-0-3.eu-west-3.compute.internal         Ready       3d22h   v1.27.7-eks-81b49f7
17/08/2024 à 08:19

10 commentaires

ccamus
Membre
Avatar de ccamus
ccamus
Membre

check les logs du cluster autoscaler. il devrait te dire pourquoi il ne scale pas down un nœud. souvent c'est à cause de pods système non déplaçables (kube-system) ou des pod disruption budgets (pdb) mal configurés qui bloquent l'éviction

Modifié le 23/05/2026 à 16:20
ksimon
Membre Actif Secouriste
Avatar de ksimon
ksimon
Membre Actif Secouriste

y'a aussi karpenter qui est bien plus agressif que le cluster autoscaler pour le scale down. ça peut virer des noeuds plus vite et de manière plus optimale. ça vaut le coup de regarder. ou sinon des managed node groups avec un min de 0 et des scale-in protection désactivées

19/08/2024 à 05:29
thierry75
Membre
Avatar de thierry75
thierry75
Membre

un truc con mais tu n'aurais pas de pods qui demandent des ressources fixes (cpu/mem requests) mais qui en utilisent très peu ? le ca voit le request et pas l'usage réel donc ça peut garder des noeuds si les requests sont hautes même si le pod est idle

Modifié le 23/05/2026 à 16:20
andre52
Membre Actif Rédacteur
Avatar de andre52
andre52
Membre Actif Rédacteur

check les affinités/anti-affinités de tes pods. si t'as des contraintes trop strictes ça peut forcer des noeuds à rester pour satisfaire une affinité inter-pod même s'il y a peu de pods. et des node local storage si tes pods utilisent des emptyDir ou hostPath

Modifié le 23/05/2026 à 16:20
mallet-philippe
Auteur Actif
Avatar de mallet-philippe
mallet-philippe
Auteur Actif

ok pour les logs du ca je vais fouiller. les pdb c'est une piste aussi je les ai ptete laissés trop permissifs pour certains services. karpenter j'y ai pensé mais c'est un gros chantier de migration pour l'instant je voudrais optimiser l'existant. mes requests/limits sont plutôt bien réglés je pense. affinités j'en ai peu. storage pas de hostpath. je pense vraiment aux pdb là ou aux pods système

21/08/2024 à 17:47
ccamus
Membre
Avatar de ccamus
ccamus
Membre

focus sur les pdb et les pods système. souvent un seul pod comme le kube-proxy ou un aws-node ou un metrics-server mal configuré peut empêcher un noeud de partir s'il a une tolérance à la défaillance NoExecute et qu'il n'y a pas d'autre nœud disponible pour lui

Modifié le 23/05/2026 à 16:20
ksimon
Membre Actif Secouriste
Avatar de ksimon
ksimon
Membre Actif Secouriste

et n'oublie pas le pod anti-affinity aussi. si tu dis "ne mets jamais deux replicas de mon service sur le même nœud" et que tu n'as que 2 nœuds et 2 replicas, si tu veux en virer un, l'autre réplica n'a plus où aller si le cluster autoscaler ne peut pas en créer un troisième

Modifié le 23/05/2026 à 16:20
mallet-philippe
Auteur Actif
Avatar de mallet-philippe
mallet-philippe
Auteur Actif

bingo ! j'ai trouvé un pdb sur un service critique qui avait un minAvailable: 1 et comme y'avait que 2 replicas et 2 noeuds... bah impossible de virer le noeud sans violer le pdb. j'ai ajusté le pdb et réduit le minAvailable à 0 pendant le scale down. et j'ai vu des logs du ca qui disaient "not ready for deletion, pod disruption budget prevents deletion". clair comme de l'eau de roche une fois qu'on sait où chercher.

Modifié le 23/05/2026 à 16:20
ccamus
Membre
Avatar de ccamus
ccamus
Membre

ah top ! les pdb sont souvent les coupables silencieux des non-scale-down. bien joué d'avoir trouvé. ça va faire du bien au porte-monnaie

24/08/2024 à 23:58
mallet-philippe
Auteur Actif
Avatar de mallet-philippe
mallet-philippe
Auteur Actif

ouais carrément ! merci pour toutes les pistes j'aurais jamais pensé aux pdb direct. ça va nous faire économiser un paquet. thx !

25/08/2024 à 19:09

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