etcd leader election flapping k8s prod

Posté par hebert-camille le 11/06/2025
RÉSOLU

hebert-camille

Membre depuis le 27/03/2019

actif

yo la team on a un gros souci en prod sur notre cluster k8s l'api server est ultra lent et on voit des evictions aléatoires. les logs etcd montrent des leader elections à la chaine. la config par défaut semble plus tenir la charge. on est sur trois nœuds masters dedicated avec ssd NVMe pourtant

kind: EtcdCluster
apiVersion: etcd.database.coreos.com/v1alpha1
metadata:
  name: my-etcd-cluster
spec:
  size: 3
  version: 3.5.0
  clientPort: 2379
  peerPort: 2380
  storage:
    volumeClaimTemplate:
      spec:
        accessModes: ["ReadWriteOnce"]
        resources:
          requests:
            storage: 100Gi

Commentaires

colette62

Membre depuis le 24/03/2019

secouriste

hello ! le flapping c'est souvent un souci de latence réseau ou de perf disque. tes métriques montrent quoi pour l'iops ou le network latency entre tes masters ?

hebert-camille

Membre depuis le 27/03/2019

actif

les métriques sont ok pour l'iops et le network entre nodes. pas de spike. j'ai l'impression que c plus lié au volume d'écritures

colette62

Membre depuis le 24/03/2019

secouriste

check tes logs etcd pour des warnings sur le fsync. si tes disques sont pas assez rapides pour fsync c'est la cata. ou ptete le wal size

hebert-camille

Membre depuis le 27/03/2019

actif

j'ai ça dans les logs :

raft: leader election timed out
le wal est sur 128MB par défaut

colette62

Membre depuis le 24/03/2019

secouriste

ouais election timeout c'est classique. augmente le election timeout dans la config etcd ptete à 1000ms au lieu de 500ms si t'as de la latence inter-nœuds qui varie un peu

hebert-camille

Membre depuis le 27/03/2019

actif

d'acc je vais essayer ça. et pour le wal j'augmente aussi ? genre 512MB ou 1GB

colette62

Membre depuis le 24/03/2019

secouriste

pour le wal tu peux monter oui genre à 256 ou 512. mais surtout regarde le --heartbeat-interval et --election-timeout. le heartbeat doit être genre 5x plus petit que l'election timeout

hebert-camille

Membre depuis le 27/03/2019

actif

j'ai mis election à 1000ms et heartbeat à 100ms. ça a l'air un peu plus stable mais j'ai toujours quelques flaps par ci par là sur les heures de pointe

colette62

Membre depuis le 24/03/2019

secouriste

ok si ça continue après ces réglages c'est ptete un souci de filesystem xfs vs ext4 ou des options de mount. t'es sur quel fs pour le volume etcd

hebert-camille

Membre depuis le 27/03/2019

actif

ext4 par défaut. les options de mount c'est juste defaults

colette62

Membre depuis le 24/03/2019

secouriste

essaie avec noatime,data=writeback si c'est pour du ssd. ça peut améliorer drastiquement les perf disque pour etcd. xfs est souvent préféré aussi pour etcd mais bon ext4 avec de bonnes options ça passe

hebert-camille

Membre depuis le 27/03/2019

actif

ok je vais tenter le remount avec ces options. faut que je redéploie le pv/pvc pour ça je crois

colette62

Membre depuis le 24/03/2019

secouriste

oui ou une maintenance sur tes masters. et check aussi ton coredns s'il est pas en PLS ça peut impacter la découverte des peers etcd

hebert-camille

Membre depuis le 27/03/2019

actif

j'ai refait les volumes avec noatime,data=writeback c'est le jour et la nuit. plus aucun flap depuis une heure et l'api server répond au quart de tour. merci c'était le disque finalement

colette62

Membre depuis le 24/03/2019

secouriste

nickel ! les options de mount c'est souvent un truc oublié mais super important pour les bases de données distribuées comme etcd

hebert-camille

Membre depuis le 27/03/2019

actif

clairement un truc à retenir. thx pour l'aide ça a sauvé ma semaine

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