etcd cluster lent et des elections leader a repet

Posté par penelope-aubry le 19/09/2025
RÉSOLU

penelope-aubry

Membre depuis le 29/12/2020

actif

yo la team j'ai un souci avec un cluster k8s les apis sont super lentes et je vois des messages d'elections leader dans les logs etcd. l'infra c'est du vmware on-prem pas de cloud. on a trois noeuds etcd chacun sur sa propre vm avec du storage local.

journalctl -u etcd -f | grep 'leader changed'

ça spamme des fois c relou le cluster a genre 50k keys. des idees pour debug ?

Commentaires

omercier

Membre depuis le 17/05/2019

actif secouriste

salut t'as check les metriques iops sur les disques ou etcd tourne souvent c'est le storage le bottleneck. et la latence reseau entre tes noeuds etcd ? ca doit etre <1ms

penelope-aubry

Membre depuis le 29/12/2020

actif

les disques sont censés être rapides du nvme local. iops ok pour l'instant. latence réseau j'ai fait des pings inter-noeuds c'est genre 0.2ms. on a 10g entre eux.

lejeune-francois

Membre depuis le 08/04/2019

actif secouriste

regarde aussi la compaction etcd. si elle ne suit pas les evenements l'espace disque peut gonfler et ralentir tout. t'as une retention setup ?

etcdctl member list --write-out=table
etcdctl endpoint status --write-out=table

penelope-aubry

Membre depuis le 29/12/2020

actif

oui la compaction est activee par default avec la retention sur 30min mais j'ai pas verifié si ca tournait bien. l'espace disque est ok pour l'instant pas de saturation.

omercier

Membre depuis le 17/05/2019

actif secouriste

check les 'AppliedIndex' et 'CommittedIndex' via les metriques prometheus de etcd. si y'a un gros ecart ca indique un lag. et les 'leader_changes_total' bien sur. tu peux aussi augmenter le --election-timeout si ton reseau est juste un peu flou

penelope-aubry

Membre depuis le 29/12/2020

actif

j'ai bien les metriques. le AppliedIndex est parfois un peu derriere le CommittedIndex sur les followers c'est vrai. leader_changes_total est monté en fleche ces derniers jours.

lejeune-francois

Membre depuis le 08/04/2019

actif secouriste

tu utilises des snapshots auto ? et quel est ton quorum size ? si t'as 3 noeuds c'est 2 le quorum. assure toi que tous les noeuds soient au courant de tous les autres pour le vote

penelope-aubry

Membre depuis le 29/12/2020

actif

snapshots oui mais pas de probleme de place. quorum size par defaut 2 sur 3. je pense que tous les noeuds se connaissent bien la config est bonne.

omercier

Membre depuis le 17/05/2019

actif secouriste

une autre idee. les ressources CPU / RAM des VMs etcd sont suffisantes ? et tu as bien desactivé le swap dessus ? etdd est sensible a ca.

penelope-aubry

Membre depuis le 29/12/2020

actif

CPU/RAM c'est du lourd 8c/32g. swap est bien off partout. je penche pour un truc plus subtil. est-ce que le traffic net entre apiserver et etcd est propre ?

lejeune-francois

Membre depuis le 08/04/2019

actif secouriste

ouais ca peut etre ca un truc qui sature le reseau sur tes apiservers quand ils parlent a etcd. regarde tcpdump sur etcd pour voir le traffic entrant pendant ces phases de lag. combien de connexions ?

penelope-aubry

Membre depuis le 29/12/2020

actif

ok je vais faire un tcpdump sur le port 2379 pour voir. je soupconne que les apiservers spamment etcd quand y'a beaucoup de deploiements ou de resyncs de controllers.

omercier

Membre depuis le 17/05/2019

actif secouriste

si c'est le cas etcd a du mal a repondre aux requetes du leader et les followers le declarent mort. tu peux tester de limiter les requetes apiserver vers etcd pour voir si ca calme le jeu temporairement.

lejeune-francois

Membre depuis le 08/04/2019

actif secouriste

et n'oublie pas le `etcdctl defrag` en cas de gros volume de keys et de delete. ca peut aider a liberer de l'espace dans la bdd etcd

penelope-aubry

Membre depuis le 29/12/2020

actif

d'acc je vais mettre en place des limites sur les apiservers pour etcd et faire un defrag apres les heures de pointe. merci les gars je vous tiens au jus.

omercier

Membre depuis le 17/05/2019

actif secouriste

bon courage tiens nous informés du resultat !

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