etcd leader election instable sur k8s clusters galère

Posté par poirier-david le 10/04/2025
RÉSOLU

poirier-david

Membre depuis le 23/11/2022

actif

salut la team on a un gros souci sur un de nos clusters k8s l'api server fait des freez aléatoires les logs etcd montrent des leader election timeouts de ouf on a trois noeuds masters ils ont de la ressource pourtant

---apiVersion: apps/v1kind: Deploymentmetadata:  name: etcd-exporter  namespace: kube-systemspec:  replicas: 1  selector:    matchLabels:      app: etcd-exporter  template:    metadata:      labels:        app: etcd-exporter    spec:      containers:      - name: etcd-exporter        image: quay.io/prometheuscommunity/etcd-exporter:v0.12.0        args:        - --etcd.server=https://127.0.0.1:2379        - --etcd.cert=/etc/kubernetes/pki/apiserver-etcd-client.crt        - --etcd.key=/etc/kubernetes/pki/apiserver-etcd-client.key        - --etcd.ca=/etc/kubernetes/pki/etcd/ca.crt        ports:        - name: metrics          containerPort: 9978          protocol: TCP

Commentaires

martins-margot

Membre depuis le 02/08/2019

secouriste

check les logs systemd d'etcd sur chaque master t'as des warnings genre "apply request took too long"

poirier-david

Membre depuis le 23/11/2022

actif

ouais pas mal de "apply request took too long" et des "wal fsync took too long" même

martins-margot

Membre depuis le 02/08/2019

secouriste

ah ok alors c'est l'infra disk derrière etcd qui est pas assez perf c'est du ssd ou hdd

poirier-david

Membre depuis le 23/11/2022

actif

c'est du ssd provisionné sur notre env vmware mais j'avoue que le storage est partagé avec d'autres trucs

martins-margot

Membre depuis le 02/08/2019

secouriste

mauvaise idée etcd est ultra sensible à la latence disque il lui faut son propre iops si possible dédiés sinon ça part en vrille direct

martins-margot

Membre depuis le 02/08/2019

secouriste

t'as regardé les métriques disque iops et latence depuis les noeuds masters direct ? genre iotop ou iostat

poirier-david

Membre depuis le 23/11/2022

actif

iostat me sort des avgrq-sz énormes et des await à genre 50-100ms sur le volume etcd

martins-margot

Membre depuis le 02/08/2019

secouriste

voilà tu as ta cause 50ms d'await c'est la mort pour etcd faudrait être sous 10ms voir 5ms max. le problème est clairement côté storage

martins-margot

Membre depuis le 02/08/2019

secouriste

est-ce que ton WAL dir est séparé de ta data dir ? c'est une best practice pour etcd si tu peux le faire

poirier-david

Membre depuis le 23/11/2022

actif

non tout est sur le même volume par défaut j'avais pas pensé à ça

martins-margot

Membre depuis le 02/08/2019

secouriste

faut absolument séparer le WAL dir sur un volume avec des iops encore plus rapides s'il y a un moyen

poirier-david

Membre depuis le 23/11/2022

actif

ok je vais voir avec l'équipe infra si on peut monter un nouveau volume ultra rapide juste pour le WAL et resizer le volume data

martins-margot

Membre depuis le 02/08/2019

secouriste

fais gaffe la migration du WAL dir c'est un peu tricky faut arrêter etcd faire le move et relancer

poirier-david

Membre depuis le 23/11/2022

actif

je suis en train de faire ça. stop etcd déplacer reconfigurer le service et relancer

martins-margot

Membre depuis le 02/08/2019

secouriste

n'oublie pas de backup avant hein tu connais la musique

poirier-david

Membre depuis le 23/11/2022

actif

oui oui j'ai un snapshot vmware en cas de pépin thx. je relance et je te dis

poirier-david

Membre depuis le 23/11/2022

actif

bon on dirait que c'est le jour et la nuit les leader elections sont stables plus de timeouts les awaits sont descendus à 2-3ms sur le WAL dir dédié c'est super fluide

martins-margot

Membre depuis le 02/08/2019

secouriste

nickel on avait eu le même souci sur un gros cluster chez nous une fois c'est un grand classique pour etcd le storage

poirier-david

Membre depuis le 23/11/2022

actif

grave merci bcp pour l'aide je pensais pas que ça aurait autant d'impact

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