0Pricing
DevOps Bootcamp · Leçon

ConfigMaps pour la configuration

Sortez la configuration des applications des images de conteneurs à l’aide de ConfigMaps.

ConfigMaps pour la configuration est une leçon DevOps Bootcamp gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage DevOps Bootcamp, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours DevOps Bootcamp comprend 4 leçons au total.

Introduction aux ConfigMaps

Les applications ont souvent besoin de données de configuration, comme des chaînes de connexion à une base de données ou des indicateurs de fonctionnalités.

Inscrire ces informations en dur directement dans vos images de conteneur peut les rendre rigides et difficiles à mettre à jour.

Les ConfigMaps permettent d’externaliser et de centraliser la configuration non sensible de votre application, tout en conservant la flexibilité de vos images.

Qu’est-ce qu’un ConfigMap ?

Un ConfigMap est un objet Kubernetes utilisé pour stocker des données non sensibles sous forme de paires clé-valeur.

Considérez-le comme un emplacement central pour les paramètres de votre application, auquel vos Pods peuvent accéder.

  • Séparation de la configuration : sépare la configuration du code de votre application.
  • Flexibilité : permet de modifier facilement les paramètres sans reconstruire les images.
  • Portabilité : permet de déplacer votre application entre des environnements utilisant des configurations différentes.

Créer des ConfigMaps : méthode impérative

Vous pouvez créer rapidement un ConfigMap directement depuis la ligne de commande avec kubectl create configmap.

Cette méthode convient parfaitement aux configurations simples et ponctuelles ou aux tests rapides.

Créons un ConfigMap nommé my-app-config contenant un paramètre de niveau de journalisation.

kubectl create configmap my-app-config \
  --from-literal=log_level=INFO

Inspecter votre ConfigMap

Après avoir créé un ConfigMap, vous pouvez consulter ses détails et vérifier son contenu.

Utilisez kubectl get avec l’option -o yaml pour afficher la définition YAML complète, y compris les données qu’il contient.

kubectl get configmap my-app-config -o yaml

ConfigMap déclaratif (YAML)

Pour la production et le contrôle de version, la définition des ConfigMaps à l’aide de manifestes YAML est la pratique standard.

Cette approche rend vos configurations reproductibles et faciles à gérer parallèlement au code de votre application.

Voici un exemple YAML de configuration pour un jeu :

apiVersion: v1
kind: ConfigMap
metadata:
  name: game-config
data:
  game.properties: |
    level=easy
    player_limit=10
  ui.properties: |
    theme=dark
    language=en

Appliquer un ConfigMap depuis un YAML

Pour créer le ConfigMap game-config, enregistrez le contenu YAML de la scène précédente dans un fichier (par exemple game-config.yaml).

Utilisez ensuite kubectl apply -f pour le déployer dans votre cluster.

# Save the YAML to game-config.yaml
kubectl apply -f game-config.yaml
kubectl get configmap game-config -o yaml

ConfigMaps comme variables d’environnement

Une manière courante pour qu’un Pod utilise les données d’un ConfigMap consiste à les injecter sous forme de variables d’environnement.

Vous pouvez indiquer les clés individuelles à exposer ou utiliser envFrom pour exposer toutes les paires clé-valeur d’un ConfigMap.

Cette méthode est idéale pour les paramètres d’application simples.

apiVersion: v1
kind: Pod
metadata:
  name: my-env-pod
spec:
  containers:
  - name: my-container
    image: busybox
    command: ["sh", "-c", "echo Log Level: $LOG_LEVEL && sleep 3600"]
    env:
    - name: LOG_LEVEL
      valueFrom:
        configMapKeyRef:
          name: my-app-config
          key: log_level

Démonstration : Pod avec configuration d’environnement

Exécutons la définition du Pod pour voir la variable d’environnement LOG_LEVEL en action.

Enregistrez le YAML du Pod dans env-pod.yaml, appliquez-le, puis consultez les journaux du Pod.

# Save Pod YAML to env-pod.yaml
kubectl apply -f env-pod.yaml
kubectl logs my-env-pod

# Clean up
kubeclt delete pod my-env-pod

ConfigMaps comme volumes montés

Pour les applications qui attendent des fichiers de configuration (par exemple nginx.conf et application.properties), vous pouvez monter un ConfigMap en tant que volume.

Chaque paire clé-valeur du ConfigMap devient un fichier dans le chemin de montage indiqué à l’intérieur du conteneur.

apiVersion: v1
kind: Pod
metadata:
  name: my-volume-pod
spec:
  containers:
  - name: my-container
    image: busybox
    command: ["sh", "-c", "echo 'Contents of game.properties:' && cat /etc/config/game.properties && sleep 3600"]
    volumeMounts:
    - name: config-volume
      mountPath: /etc/config
  volumes:
  - name: config-volume
    configMap:
      name: game-config

Démonstration : Pod avec configuration montée

Déployons maintenant un Pod qui monte notre ConfigMap game-config en tant que volume.

Enregistrez le YAML du Pod dans volume-pod.yaml, appliquez-le, puis examinez les journaux pour voir le contenu du fichier monté.

# Save Pod YAML to volume-pod.yaml
kubectl apply -f volume-pod.yaml
kubectl logs my-volume-pod

# Clean up
kubeclt delete pod my-volume-pod

Vérification rapide : ConfigMaps

Laquelle des affirmations suivantes concernant les ConfigMaps Kubernetes est vraie ?

Récapitulatif : ConfigMaps

Excellent travail ! Vous avez découvert comment les ConfigMaps facilitent la gestion de la configuration dans Kubernetes :

  • Objectif : stocker des données de configuration non sensibles sous forme de paires clé-valeur.
  • Création : de manière impérative avec kubectl create ou de manière déclarative avec YAML.
  • Utilisation : sous forme de variables d’environnement ou de fichiers montés dans les Pods.
  • Avantage : séparer la configuration du code de l’application, ce qui améliore la flexibilité.

Ensuite, nous verrons comment gérer les informations sensibles en toute sécurité avec les Secrets Kubernetes !

Questions Fréquemment Posées

La leçon « ConfigMaps pour la configuration » est-elle gratuite ?

Oui — le texte complet de « ConfigMaps pour la configuration » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours DevOps Bootcamp, passe à CoddyKit PRO. Le cours DevOps Bootcamp comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « ConfigMaps pour la configuration » ?

Sortez la configuration des applications des images de conteneurs à l’aide de ConfigMaps. Tu pratiques DevOps Bootcamp avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer DevOps Bootcamp ?

Aucune expérience préalable n'est requise. DevOps Bootcamp sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « ConfigMaps pour la configuration » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon DevOps Bootcamp ?

Oui. Chaque leçon DevOps Bootcamp inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. ConfigMaps pour la configuration
  2. Secrets pour les données sensibles
  3. Volumes persistants et revendications
  4. StorageClasses et approvisionnement dynamique
← Retour à DevOps Bootcamp