Vault HA sur Kubernetes qui perd le quorum après un redeploy

Posté par margaud02 le 29/01/2026
RÉSOLU

margaud02

Membre depuis le 05/04/2019

Salut la commu. on a un Vault en mode HA sur EKS, backend Consul. quand on fait un simple redeploy de l'application Vault (genre un kubectl apply -f vault.yaml), il perd son quorum et reste sealed. il faut le relancer à la main. c'est ultra chiant. qqn a déjà eu ça ?

Commentaires

elisabeth13

Membre depuis le 01/01/2020

hello ! t'as vérifié que tes PVs pour Consul sont bien persistants ? si c'est du ephemeral stockage, normal que tu perdes l'état de Consul et donc le quorum de Vault après un redémarrage.

margaud02

Membre depuis le 05/04/2019

oui les PVs sont bien persistants, c'est du EBS provisionné via le CSI driver. les données sont là. c'est vraiment le redeploy ou le redémarrage des pods qui casse le truc.

marchal-franck

Membre depuis le 19/03/2019

ton pod anti-affinity pour Vault et Consul est bien configuré ? faut absolument éviter que tous les pods serveurs Consul redémarrent sur le même noeud en même temps. ça peut flinguer le quorum si plus de la moitié des serveurs sont down.

elisabeth13

Membre depuis le 01/01/2020

et le readiness probe de Vault ? est-ce qu'il est pas trop rapide et déclare le pod ready avant que Vault soit vraiment prêt et qu'il ait rejoint le cluster ? ça peut créer des flaps.

dacosta-tristan

Membre depuis le 04/05/2024

comment tu gères l'unseal ? il est auto via KMS ou manuel ? si c'est manuel, faut unseal après chaque restart si tu perds l'état. si auto, regarde les logs KMS ou Vault pendant le redémarrage.

margaud02

Membre depuis le 05/04/2019

unseal auto via kms, pas de souci de ce côté-là. les probes sont assez généreuses. c'est surtout consul qui me paraît pas stable. j'ai l'impression que les ips des pods consul changent et que les membres galèrent à se retrouver et reformer le quorum.

elisabeth13

Membre depuis le 01/01/2020

ah ips changeantes en k8s c la plaie pour des trucs comme consul. faut absolument utiliser le service discovery dns de kubernetes pour que consul retrouve ses pairs, pas les ips directes. dans la config de consul. tu dois avoir un truc genre retry_join: ["consul-server.default.svc.cluster.local"]

marchal-franck

Membre depuis le 19/03/2019

exact, ou alors si c'est possible pour ton archie, passe les serveurs Consul en dehors de K8s. ça simplifie le HA et les IPs sont stables. et les clients Consul dans K8s se connectent à l'adresse fixe des serveurs.

margaud02

Membre depuis le 05/04/2019

bon j'ai revu la config Consul pour utiliser les noms de service kubernetes au lieu des IPs directes pour le retry_join. après un bon gros test de redeploy, ça a l'air de tenir le quorum ! merci mille fois pour la piste du DNS discovery, c'était ça le hic !

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