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

Posté par imarechal le 13/04/2025
RÉSOLU

imarechal

Membre depuis le 26/05/2024

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"

Commentaires

fmarchal

Membre depuis le 11/04/2019

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

luce45

Membre depuis le 26/12/2024

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

sylvie-martel

Membre depuis le 23/04/2024

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

fmarchal

Membre depuis le 11/04/2019

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 ?

luce45

Membre depuis le 26/12/2024

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

sylvie-martel

Membre depuis le 23/04/2024

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

fmarchal

Membre depuis le 11/04/2019

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

imarechal

Membre depuis le 26/05/2024

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

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