vault ha et dr sur k8s le cluster raft est ko après un failover

guillon-laurence 04/11/2025
RÉSOLU
guillon-laurence
Auteur Actif
Avatar de guillon-laurence
guillon-laurence
Auteur Actif

Salut la team ! J'essaie de monter un setup Vault HA sur k8s avec un cluster Raft et un réplica DR sur une autre région. Le HA marche nickel mais quand je simule un failover sur le réplica DR, le cluster Raft de la région primaire part en vrac. Genre il ne trouve plus ses peers, il se splitte. J'ai l'impression qu'il y a un souci de résilience ou de découverte entre les régions.

# vault server config (extrait)
storage "raft" {
  path = "/vault/data"
  node_id = "node-{{ .NodeID }}"
}

cluster_addr = "https://{{ .PodIP }}:8201"
api_addr = "https://{{ .PodIP }}:8200"

listener "tcp" {
  address = "0.0.0.0:8200"
  tls_disable = false
  tls_cert_file = "/vault/userconfig/vault-server-tls/vault.crt"
  tls_key_file = "/vault/userconfig/vault-server-tls/vault.key"
}
04/11/2025 à 18:34

7 commentaires

hmm ça ressemble à un souci de split-brain ou de résolution de nom dans tes clusters k8s quand tu bascules. comment est gérée la découverte des peers raft entre les deux régions ? tu utilises des services k8s ou des ips directes ? parce que si c'est des ips directes et qu'elles changent ça va pas le faire.

05/11/2025 à 13:49
aimee13
Membre
Avatar de aimee13
aimee13
Membre

ouais et même avec des services k8s si t'as des dns regionaux qui mettent du temps à se sync ou des caches dns trop agressifs ça peut poser souci. as-tu regardé les logs des noeuds raft après le failover ? surtout les erreurs de connexion ou de membre absent.

06/11/2025 à 10:29
william-perrier
Membre Actif
Avatar de william-perrier
william-perrier
Membre Actif

j'ai eu un truc similaire c'était lié à la persistance des données. les noeuds raft doivent bien voir leurs disques persistants même après redémarrage ou migration. t'es sûr que tes PVC sont bien attachés aux bons pods dans la région DR et que la data est cohérente ? des fois un noeud rejoint le cluster avec une ancienne config et ça fout le bazar.

07/11/2025 à 05:38
guillon-laurence
Auteur Actif
Avatar de guillon-laurence
guillon-laurence
Auteur Actif

les logs montrent des "no Raft leader" et des "failed to communicate with peer". pour la découverte j'utilise des services k8s avec des endpoints externes pour la région DR. mais peut-être que les IP derrière changent trop vite ou que les résolutions DNS sont chaotiques. les PVC sont okay je pense ils sont répliqués avec Velero.

08/11/2025 à 05:22

si tes services k8s sont bien configurés pour pointer sur les bonnes IP des pods vault et que tes firewalls inter-régions sont ouverts sur les ports 8200/8201 c'est ptete un heartbeat timeout trop court. par defaut raft est à 1s. si ta latence inter-région dépasse ça régulièrement tu vas avoir des faux positifs de leader down.

09/11/2025 à 02:07
aimee13
Membre
Avatar de aimee13
aimee13
Membre

essaye d'augmenter les timeouts raft heartbeat_timeout, election_timeout et commit_timeout dans ta config si la latence réseau est un facteur. genre met les à 5s pour voir si ça stabilise le truc. après faudra ajuster finement.

Modifié le 23/05/2026 à 16:20
guillon-laurence
Auteur Actif
Avatar de guillon-laurence
guillon-laurence
Auteur Actif

okay je vais tenter d'augmenter les timeouts Raft c'est une piste intéressante ça colle avec l'inter-région. et je vais revérifier la config DNS des services k8s. merci pour les idées je vous tiens au jus !

11/11/2025 à 00: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