Chapitre 10. Configuration et secrets
Si tu veux garder un secret, tu dois aussi te le cacher à toi-même.
George Orwell, 1984
Il est très utile de pouvoir séparer la logique de ton application Kubernetes de sa configuration: c'est-à-dire les valeurs ou paramètres susceptibles de changer au cours de la vie de l'application. Les valeurs de configuration comprennent généralement des éléments tels que les paramètres spécifiques à l'environnement, les adresses DNS des services tiers et les identifiants d'authentification.
Bien que tu puisses simplement insérer ces valeurs directement dans ton code, cette approche n'est pas très flexible. D'une part, la modification d'une valeur de configuration nécessiterait une reconstruction et un redéploiement complets de l'application. Il vaut mieux séparer ces valeurs du code et les lire dans un fichier ou dans des variables d'environnement.
Kubernetes propose quelques moyens différents pour t'aider à gérer la configuration. L'une d'entre elles consiste à transmettre des valeurs à l'application via des variables d'environnement dans la spécification Pod (voir "Variables d'environnement"). Une autre consiste à stocker les données de configuration directement dans Kubernetes, à l'aide des objets ConfigMap et Secret.
Dans ce chapitre, nous allons explorer les ConfigMaps et les Secrets en détail, et examiner quelques ...