Vault sur k8s pas de secrets montés dans les pods

imarechal 13/04/2025
RÉSOLU
imarechal
Auteur
Avatar de imarechal
imarechal
Auteur

yo la team ! je galère avec vault sur k8s. j'ai déployé vault avec le csi driver mais mes pods clients ne reçoivent pas les secrets. j'ai vérifié les policies vault elles semblent ok le service account k8s aussi


# exemple de config du pod qui doit récupérer le secret
apiversion: v1
kind: pod
metadata:
  name: my-app
  annotations:
    vault.hashicorp.com/agent-inject: "true"
    vault.hashicorp.com/role: "my-app-role"
    vault.hashicorp.com/agent-inject-secret-db-creds.txt: "kv/data/my-app/db"
spec:
  serviceaccountname: my-app-sa
  containers:
  - name: app
    image: my-app-image:latest
    volumemounts:
    - name: vault-secrets
      mountpath: "/vault/secrets"
  volumes:
  - name: vault-secrets
    csi:
      driver: secrets-store.csi.k8s.io
      readonly: true
      volumeattributes:
        secretproviderclass: "vault-secret-provider"
13/04/2025 à 18:19

8 commentaires

fmarchal
Membre Actif Secouriste
Avatar de fmarchal
fmarchal
Membre Actif Secouriste

salut. t'as check les logs du vault agent sidecar dans le pod ? souvent ça te dit direct le souci. regarde aussi les logs du csi driver pod

14/04/2025 à 15:02
luce45
Membre
Avatar de luce45
luce45
Membre

ouais les logs csi c'est la base. et la vault policy pour ton role my-app-role est bien sur le path kv/data/my-app/db ? des fois c'est juste un chemin différent

15/04/2025 à 14:52
sylvie-martel
Membre Actif
Avatar de sylvie-martel
sylvie-martel
Membre Actif

verifie que ton service account my-app-sa a bien les bons droits rbac pour appeler le vault-csi-provider. souvent un clusterrolebinding manquant

16/04/2025 à 12:56
fmarchal
Membre Actif Secouriste
Avatar de fmarchal
fmarchal
Membre Actif Secouriste

et ton secrets-store csi driver c'est quelle version ? y a eu pas mal de bugfixes. la config de ta secretProviderClass est bonne aussi ?

17/04/2025 à 08:37
luce45
Membre
Avatar de luce45
luce45
Membre

t'as vérifié l'annotation vault.hashicorp.com/role est correcte ? un espace ou une faute et ça marche pas

18/04/2025 à 04:12
sylvie-martel
Membre Actif
Avatar de sylvie-martel
sylvie-martel
Membre Actif

et le token k8s pour ton service account il est bien monté dans le sidecar ? et il peut bien s'authentifier auprès de vault ? tu peux tester avec un vault login -method=kubernetes role=my-app-role jwt=@/var/run/secrets/kubernetes.io/serviceaccount/token depuis un pod

19/04/2025 à 02:15
fmarchal
Membre Actif Secouriste
Avatar de fmarchal
fmarchal
Membre Actif Secouriste

un truc con mais souvent oublié : si tu as des namespace spécifiques pour vault et tes apps le rbac peut être tricky. faut bien cibler les bons ns

20/04/2025 à 01:20
imarechal
Auteur
Avatar de imarechal
imarechal
Auteur

Ok les gars c'était une combinaison de deux trucs ! la vault policy était bien sur le bon path mais le rôle k8s n'avait pas les droits pour LISTER les secrets sur ce path. j'avais mis un read mais pas un list. et le service account avait un clusterrolebinding manquant. merci le diagnostic

21/04/2025 à 00:45

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