Membre depuis le 25/01/2024
salut la team
j'ai un souci avec mon vault sur GKE, on a configuré l'auto-unseal via GCP KMS nickel ça marche. mais quand on reboot le cluster ou les nodes, le vault démarre sealed et il arrive pas à récupérer les clés de déchiffrement depuis KMS. il me dit qu'il trouve pas les clés alors que le service account a bien les permissions. obligé de le unseal à la main à chaque fois, relou en prod.
seal "gcpckms" {
project = "mon-projet-gcp"
region = "europe-west1"
key_ring = "vault-keyring"
crypto_key = "vault-key"
}
une idée de ce qui merde ?
Vous devez être connecté pour poster un message !
Recevoir les derniers articles gratuitement en créant un compte !
S'inscrire
Commentaires
julien-luc
Membre depuis le 22/07/2024
yo t'es sûr que le service account utilisé par vault sur tes nodes GKE est bien celui qui a les perms kms decrypt ? des fois c'est un autre sa par défaut qui est utilisé si t'as pas spécifié explicitement dans le pod ou le deployment
navarro-nath
Membre depuis le 15/07/2024
regarde aussi les logs du vault au moment du reboot. est-ce qu'il y a des erreurs claires liées à KMS ou un timeout ? ptete que le réseau vers kms est pas dispo direct au démarrage du pod
xjacquot
Membre depuis le 25/01/2024
j'ai vérifié les perms du sa il a bien rôle cloud kms cryptoKey Decrypter sur la clé en question. pour les logs j'ai un "failed to unseal: failed to decrypt with KMS: ... key not found". bizarrement, si je kill le pod et qu'il redémarre, ça marche. c'est juste après un reboot complet de la node ou du cluster
julien-luc
Membre depuis le 22/07/2024
ha ok donc c pas la clé qui est pas trouvée mais ptete l'accès à la clé au moment critique. le sa est monté via workoad identity ? si oui vérifie la liaison sa k8s / sa gcp elle est ptete pas dispo super tôt au boot
gturpin
Membre depuis le 30/07/2024
exactement. j'ai eu ça avec un init container qui essayait de faire un truc kms trop tôt. le workload identity n'était pas encore initialisé. essaie de mettre un lifecycle postStart hook avec un petit sleep ou un check avant que vault essaye de s'unseal
xjacquot
Membre depuis le 25/01/2024
OMG vous avez mis le doigt dessus. c'est bien le workload identity. au redémarrage complet y'a un délai avant que ça s'initialise et vault tente l'unseal trop tôt. j'ai ajouté un init container avec un petit script qui attend que le sa gcp soit dispo avant de lancer vault. ça marche impec maintenant. thx la team !