Kubernetes v1.34 : Utiliser un... Note

Kubernetes v1.34 : Utiliser un conteneur d'initialisation pour définir les variables d'environnement de l'application

Kubernetes utilise traditionnellement les ConfigMaps et les Secrets pour les variables d'environnement, ce qui ajoute de la complexité et des appels d'API supplémentaires. Gérer les Pods et leurs configurations séparément, en particulier lors des mises à jour, peut être difficile. Cela est particulièrement vrai lorsqu'il s'agit de conteneurs de fournisseurs nécessitant des variables d'environnement sans vouloir les coder en dur ou utiliser des montages de volumes.Une nouvelle fonctionnalité alpha appelée EnvFiles offre une solution alternative pour ces scénarios. Si la fonctionnalité EnvFiles est activée, le kubelet peut charger les variables d'environnement d'un conteneur directement à partir d'un fichier dans un volume emptyDir. Cela élimine le besoin de monter le fichier dans le conteneur lui-même. La fonctionnalité principale permet à Kubernetes d'analyser un fichier, souvent généré par un initContainer, et de définir des variables d'environnement pour le conteneur principal au démarrage.Le fichier réside dans un volume emptyDir, qui est un stockage temporaire d'une durée de vie du pod. Le conteneur principal n'a pas besoin de monter ce volume ; le kubelet gère la lecture du fichier et l'injection des variables. La définition de ces variables implique l'utilisation du champ fileKeyRef dans la spécification du pod, en spécifiant le chemin du fichier et la clé à extraire.Le format de fichier prend en charge une syntaxe KEY=VALUE, et pour cette phase alpha, il doit être écrit dans un volume emptyDir. Un init container est requis pour écrire le fichier dans le volume emptyDir, mais le conteneur de l'application principale n'a pas besoin d'accéder au volume. Bien que cette fonctionnalité puisse gérer des données sensibles, il est important de noter que les opérateurs de nœuds ayant accès au système de fichiers pourraient potentiellement récupérer ces données à partir des volumes emptyDir. Par conséquent, des politiques de sécurité de cluster robustes sont essentielles pour protéger les nœuds contre tout accès non autorisé lors du stockage d'informations sensibles. Cette fonctionnalité EnvFiles simplifie la création d'applications et permet de nouveaux cas d'utilisation en réduisant les solutions de contournement complexes.