Membre depuis le 05/08/2024
salut la compagnie
on a une infra où nos apps (des pods k8s) utilisent des tokens vault pour se connecter et récupérer des secrets. j'ai mis en place une rotation automatique des tokens via une job k8s qui renouvelle le token parent et envoie le nouveau token dans un secret k8s que les pods utilisent au démarrage
le truc c'est qu'après la rotation quelques apps se plaignent de pas pouvoir se connecter à vault. j'ai des erreurs genre
permission denied ou invalid token. mais les autres apps qui utilisent le meme process marchent très bien. et si je redémarre le pod qui merde ça remarche
j'ai check les logs vault pas grand chose d'utile à part les erreurs de token invalide. une idée de pourquoi certains pods auraient l'ancien token meme après mise à jour du secret k8s ?
Vous devez être connecté pour poster un message !
Recevoir les derniers articles gratuitement en créant un compte !
S'inscrire
Commentaires
plombard
Membre depuis le 08/07/2024
Salut ! Tes pods utilisent le secret k8s via un volume monté ou une variable d'environnement ? Si c'est un volume monté, k8s ne rafraîchit pas toujours le contenu des fichiers immédiatement après la rotation du secret. Il y a un délai de cache.
claudine-gosselin
Membre depuis le 05/08/2024
c un volume monté en effet. un fichier dans le pod qui contient le token. je pensais que k8s était assez rapide pour ça
plombard
Membre depuis le 08/07/2024
non ya un délai par défaut de genre 60 secondes pour les mises à jour des secrets montés en volume. si tes apps lisent le fichier au démarrage et qu'elles restent en vie longtemps, elles n'auront jamais le nouveau token tant qu'elles redémarrent pas. la solution c'est soit de forcer un redémarrage après rotation ou d'implémenter un mécanisme de relecture du fichier dans l'app
claudine-gosselin
Membre depuis le 05/08/2024
ah ok je comprends mieux. j'avais pas pensé à ce délai. du coup on va implémenter un watcher de fichier dans l'app pour reload le token à chaud. merci pour la piste c'était ça le problème !