Aller au contenu principal

Kubernetes : chaque variable de config, elle vit où ?

Kubernetes
Kubernetes : chaque variable de config, elle vit où ?

Déployer sur Kubernetes m'a forcé à clarifier une question simple : chaque variable de config, elle vit où ? 🔑

Ma grille de lecture, appliquée à ce site (Symfony + Next.js sur k8s) :

  • 🔹 Secret k8s : tout ce qui est sensible et lu au runtime. Identifiants SMTP, clés secrètes d'API… Le pod les reçoit en variables d'environnement, rien dans l'image, rien dans le repo.
  • 🔹 ConfigMap : la config non sensible qui varie selon l'environnement.
  • 🔹 Build-arg Docker : ce qui doit être figé dans l'artefact au moment du build — typiquement les variables NEXT_PUBLIC_* d'un frontend Next.js, compilées dans le bundle JS.

La question à se poser pour chaque variable : « Qui la consomme, et quand ? » Le serveur au runtime → Secret/ConfigMap. Le navigateur du client → elle doit être présente au build.

Se tromper de case, c'est soit une clé secrète exposée dans un bundle public, soit un frontend qui pointe vers localhost en prod. Les deux se paient cash. 😬

Voir le post original sur LinkedIn