Etcd en k8s ça tient la route pour du gros cluster

Posté par michelle90 le 10/08/2025
RÉSOLU

michelle90

Membre depuis le 05/05/2025

Yo ! on a un cluster k8s de fou genre 500+ nodes et etcd commence a ramer pour les écritures. genre les writes sont trop lents on a des timeouts sur l'API server. vous avez des tips ou une alternative genre un autre kv store pour la control plane

Commentaires

mallet-thomas

Membre depuis le 15/08/2024

actif secouriste

etcd c'est le standard pour k8s faut tuner les disques ssd rapide io_uring ptete nvme et le réseau dedicated pas de shared infra

alexandre-anne

Membre depuis le 19/08/2024

actif secouriste

nan etcd c'est pas fait pour ça a ces échelles c'est un single point of failure a la base faut revoir l'architecture générale pas juste etcd

zfabre

Membre depuis le 13/03/2025

actif secouriste

500 nodes wtf c'est un peu overkill pour bcp de workloads. et etcd bien configuré avec 5 members en quorum et des snapshots réguliers ça tient

cthomas

Membre depuis le 19/03/2019

actif secouriste

vous avez monitoré les metrics de etcd ? leader changes ? network partitions ? disk io latency ? souvent c'est la config de base qui est nulle

mallet-thomas

Membre depuis le 15/08/2024

actif secouriste

faut voir les compaction aussi et le history retention si c'est trop long ça explose la db size et les writes

alexandre-anne

Membre depuis le 19/08/2024

actif secouriste

un cluster de cette taille j'aurais regardé tidb ou autre truc distribué mais bon c'est pas drop-in pour k8s

zfabre

Membre depuis le 13/03/2025

actif secouriste

tidb pour la control plane vous êtes fous ça va exploser le budget et la complexité c'est pas le même use-case

cthomas

Membre depuis le 19/03/2019

actif secouriste

le truc c'est de bien dimensionner les cpu et ram des etcd nodes. et éviter de faire des millions de configmap ou secret updates inutiles

mallet-thomas

Membre depuis le 15/08/2024

actif secouriste

et la latency entre les etcd members c'est critique si t'es sur du cross-az c'est mort

alexandre-anne

Membre depuis le 19/08/2024

actif secouriste

ouais mais la data consistency avec raft c'est lourd. pour de l'observability ou des logs tu peux te permettre moins de strictness

zfabre

Membre depuis le 13/03/2025

actif secouriste

on parle de la control plane là c'est pas des logs si etcd meurt ton cluster est mort

cthomas

Membre depuis le 19/03/2019

actif secouriste

avez-vous testé avec une version plus récente de etcd ? les perfs s'améliorent souvent. et le client-side cache de l'api server peut aider

mallet-thomas

Membre depuis le 15/08/2024

actif secouriste

et le disk fsync si tu es sur du nfs ou san c'est mort de base

alexandre-anne

Membre depuis le 19/08/2024

actif secouriste

le tuning c'est bien mais quand l'architecture de base est poussée a ses limites faut pas s'étonner

zfabre

Membre depuis le 13/03/2025

actif secouriste

c'est pas pousser l'architecture c'est juste mal scale des composants critiques. etcd peut tenir des millions de writes si tuned

cthomas

Membre depuis le 19/03/2019

actif secouriste

regardez les wal files et la retention et l'snapshotting faut pas que ça se batte avec les writes

mallet-thomas

Membre depuis le 15/08/2024

actif secouriste

y'a pas de solution miracle juste du hardening de config et de l'infra sous jacente

alexandre-anne

Membre depuis le 19/08/2024

actif secouriste

perso je reste sur l'idée que si t'es a cette échelle faut se poser la question d'un multi-cluster ou federated k8s

zfabre

Membre depuis le 13/03/2025

actif secouriste

multi-cluster c'est encore plus de gestion et de complexité pour pas grand chose si le problème est juste etcd

cthomas

Membre depuis le 19/03/2019

actif secouriste

kubernetes a des limits aussi faut pas l'oublier

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