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

michelle90 10/08/2025
RÉSOLU
michelle90
Auteur
Avatar de michelle90
michelle90
Auteur

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

10/08/2025 à 07:16

20 commentaires

mallet-thomas
Membre Actif Secouriste
Avatar de mallet-thomas
mallet-thomas
Membre 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

11/08/2025 à 02:38
alexandre-anne
Membre Actif Secouriste
Avatar de alexandre-anne
alexandre-anne
Membre 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

12/08/2025 à 02:26
zfabre
Membre Actif Secouriste
Avatar de zfabre
zfabre
Membre 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

12/08/2025 à 21:42
cthomas
Membre Actif
Avatar de cthomas
cthomas
Membre Actif

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

13/08/2025 à 20:23
mallet-thomas
Membre Actif Secouriste
Avatar de mallet-thomas
mallet-thomas
Membre Actif Secouriste

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

14/08/2025 à 16:12
alexandre-anne
Membre Actif Secouriste
Avatar de alexandre-anne
alexandre-anne
Membre Actif Secouriste

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

15/08/2025 à 15:50
zfabre
Membre Actif Secouriste
Avatar de zfabre
zfabre
Membre 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

16/08/2025 à 11:50
cthomas
Membre Actif
Avatar de cthomas
cthomas
Membre Actif

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

17/08/2025 à 06:05
mallet-thomas
Membre Actif Secouriste
Avatar de mallet-thomas
mallet-thomas
Membre Actif Secouriste

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

18/08/2025 à 04:13
alexandre-anne
Membre Actif Secouriste
Avatar de alexandre-anne
alexandre-anne
Membre 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

19/08/2025 à 03:40
zfabre
Membre Actif Secouriste
Avatar de zfabre
zfabre
Membre Actif Secouriste

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

20/08/2025 à 01:48
cthomas
Membre Actif
Avatar de cthomas
cthomas
Membre Actif

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

20/08/2025 à 21:56
mallet-thomas
Membre Actif Secouriste
Avatar de mallet-thomas
mallet-thomas
Membre Actif Secouriste

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

21/08/2025 à 20:18
alexandre-anne
Membre Actif Secouriste
Avatar de alexandre-anne
alexandre-anne
Membre Actif Secouriste

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

22/08/2025 à 20:12
zfabre
Membre Actif Secouriste
Avatar de zfabre
zfabre
Membre 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

23/08/2025 à 17:15
cthomas
Membre Actif
Avatar de cthomas
cthomas
Membre Actif

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

24/08/2025 à 14:48
mallet-thomas
Membre Actif Secouriste
Avatar de mallet-thomas
mallet-thomas
Membre Actif Secouriste

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

25/08/2025 à 11:57
alexandre-anne
Membre Actif Secouriste
Avatar de alexandre-anne
alexandre-anne
Membre 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

26/08/2025 à 06:10
zfabre
Membre Actif Secouriste
Avatar de zfabre
zfabre
Membre Actif Secouriste

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

27/08/2025 à 02:41
cthomas
Membre Actif
Avatar de cthomas
cthomas
Membre Actif

kubernetes a des limits aussi faut pas l'oublier

27/08/2025 à 22:18

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