Vault HA pas réactif aux fails, des idées ?

wlelievre 25/06/2025
RÉSOLU
wlelievre
Auteur Actif
Avatar de wlelievre
wlelievre
Auteur Actif

salut la team

on a vault en ha sur k8s avec consul comme backend et le truc c'est que quand on tue un pod vault leader le failover prend une plombe genre 30-45s c'est trop long pour nos app qui pètent des timeout

on est sur vault 1.14 et consul 1.15

# partie de notre config vault (simplifiée)
storage "consul" {
  address = "consul-server.consul:8500"
  path    = "vault/"
}
ha_storage "consul" {
  address = "consul-server.consul:8500"
  path    = "vault_ha/"
}
listener "tcp" {
  address     = "0.0.0.0:8200"
  tls_disable = true
}

des pistes pour réduire ce délai ?

25/06/2025 à 09:34

7 commentaires

alexandre29
Membre Actif
Avatar de alexandre29
alexandre29
Membre Actif

yo

vous avez checké le timeout du lease consul pour vault

si le lease est long vault mettra du temps à relâcher le lock leader

regarde dans la conf consul côté serveur et aussi le client vault

26/06/2025 à 09:27
tbarthelemy
Membre Actif
Avatar de tbarthelemy
tbarthelemy
Membre Actif

oui et aussi la latence réseau entre tes pods vault et les serveurs consul

si t'as des micro-coupures ou du lag ça peut allonger le temps pour que consul détecte que le leader est down

regarde les logs consul et vault pour voir si y a des messages de connectivité

27/06/2025 à 06:35
patrick88
Membre Rédacteur
Avatar de patrick88
patrick88
Membre Rédacteur

un truc con mais tu uses bien le HEALTH endpoint de vault dans tes liveness probes k8s

si ta probe est trop laxiste ou utilise le STANDBY endpoint le kubelet va mettre du temps à relancer le pod leader

# exemple de probe
livenessProbe:
  httpGet:
    path: /v1/sys/health?standbyok=true&sealedok=false
    port: 8200
  initialDelaySeconds: 10
  periodSeconds: 5
  timeoutSeconds: 5
  failureThreshold: 3

attention le standbyok=true doit pas être là pour le leader sinon ça dit ok même si c'est pas le leader

28/06/2025 à 01:36
wlelievre
Auteur Actif
Avatar de wlelievre
wlelievre
Auteur Actif

ah merde le standbyok=true c'est exactement ce qu'on a sur la liveness probe

je vais tester de l'enlever pour la liveness et le laisser juste pour la readiness

pour le lease consul je dois vérifier quoi comme paramètre exactement

28/06/2025 à 20:34
alexandre29
Membre Actif
Avatar de alexandre29
alexandre29
Membre Actif

le paramètre c'est le ttl des sessions consul pour vault

il est souvent défini implicitement mais tu peux le forcer côté vault

session_ttl = "10s" # exemple

fais gaffe à pas le mettre trop bas non plus sinon t'as des faux positifs si le réseau tousse un peu

29/06/2025 à 20:18
tbarthelemy
Membre Actif
Avatar de tbarthelemy
tbarthelemy
Membre Actif

et n'oublie pas le paramètre raft.leader_election_timeout si tu étais passé de consul à raft avant

mais là t'es en consul donc moins pertinent mais on sait jamais

sinon pour la latence réseau entre pods vault et consul dans k8s un iperf3 entre eux peut donner des indices si c'est vraiment réseau

Modifié le 23/05/2026 à 16:20
wlelievre
Auteur Actif
Avatar de wlelievre
wlelievre
Auteur Actif

ok les gars j'ai enlevé le standbyok=true de la liveness probe et j'ai forcé le ttl à 15s sur consul et vault

on est passé de 45s à genre 8-10s c'est beaucoup mieux

merci pour les tips c'était la liveness probe qui déconnait à plein tube

01/07/2025 à 14:37

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