Aller au contenu
Conteneurs & Orchestration medium
🔐 Alerte sécurité — Incident supply chain Trivy : lire mon analyse de l'attaque

Ressources Kubernetes : du Pod aux StatefulSets

6 min de lecture

logo kubernetes

Chaque application Kubernetes repose sur des objets qui définissent son comportement, sa configuration et ses interactions réseau. Cette page vous présente toutes les ressources à maîtriser — des Pods de base aux StatefulSets avancés — avec l’ordre idéal pour les apprendre.

Prérequis : architecture Kubernetes et kubectl configuré.

Kubernetes ne gère pas directement vos conteneurs — il gère des objets qui décrivent l’état souhaité de votre application. En comprenant ces objets, vous pourrez :

  • Déployer vos applications de manière reproductible (Deployments, StatefulSets)
  • Exposer vos services sur le réseau (Services)
  • Configurer vos applications sans modifier le code (ConfigMaps, Secrets)
  • Isoler vos environnements (Namespaces)
  • Automatiser les tâches ponctuelles et planifiées (Jobs, CronJobs)
  • Garantir la présence d’agents sur chaque nœud (DaemonSets)

Ces ressources permettent de déployer et exposer vos applications. Maîtrisez-les en premier.

Le Pod est l’unité d’exécution de Kubernetes. Il contient un ou plusieurs conteneurs qui partagent réseau et stockage. Les Pods sont éphémères — ne les créez jamais directement en production.

Apprendre les Pods Kubernetes

Le Deployment gère le cycle de vie de vos Pods : création, scaling, mises à jour progressives. C’est la ressource que vous utiliserez le plus souvent pour déployer des applications sans état.

Créer et mettre à jour des Deployments Kubernetes

Le ReplicaSet maintient un nombre défini de Pods identiques. En pratique, vous ne le créez jamais directement — le Deployment le gère pour vous.

Comprendre les ReplicaSets Kubernetes

Un Service expose vos Pods sur le réseau avec une IP stable. Comme les Pods peuvent être recréés à tout moment, le Service garantit un point d’accès permanent.

Exposer vos applications avec les Services Kubernetes

Ces ressources permettent de configurer vos applications et d’organiser votre cluster.

Un ConfigMap stocke la configuration non sensible de votre application : URLs, paramètres, fichiers de config. Il permet de séparer la configuration du code.

Utiliser les ConfigMaps Kubernetes

Un Secret stocke les données sensibles : mots de passe, clés API, certificats. Attention : un Secret n’est pas chiffré par défaut, seulement encodé en base64.

Stocker des données sensibles avec les Secrets Kubernetes

Un Namespace isole un groupe de ressources dans le cluster. Il permet de séparer les environnements (dev, staging, prod) ou les équipes.

Comprendre les Namespaces Kubernetes

Ces ressources répondent à des besoins spécifiques : applications avec état, agents système et tâches planifiées.

Un StatefulSet gère des applications avec état : bases de données, systèmes distribués. Contrairement au Deployment, il garantit :

  • Des identités stables (pods numérotés : mysql-0, mysql-1, mysql-2)
  • Un ordre de démarrage et d’arrêt déterministe
  • Des volumes persistants liés à chaque pod

Déployer des applications avec état : StatefulSets Kubernetes

Un DaemonSet garantit qu’un Pod tourne sur chaque nœud du cluster. Utilisé pour :

  • Les agents de monitoring (Prometheus Node Exporter, Datadog)
  • Les collecteurs de logs (Fluentd, Filebeat)
  • Les agents réseau (CNI plugins, kube-proxy)

Exécuter un Pod sur chaque nœud : DaemonSets Kubernetes

Un Job exécute une tâche jusqu’à complétion : migration de base de données, backup, traitement batch. Un CronJob planifie cette exécution de façon récurrente.

Exécuter des tâches avec Jobs et CronJobs Kubernetes

  1. Un Namespace isole l’environnement
  2. Un Deployment crée et maintient les Pods applicatifs
  3. Un Service expose ces Pods sur le réseau interne
  4. Un ConfigMap fournit la configuration
  5. Un Secret injecte les identifiants
  1. Un StatefulSet déploie les instances avec des identités stables
  2. Un Service headless permet la découverte individuelle de chaque pod
  3. Des PersistentVolumeClaims attachent le stockage à chaque instance
  4. Un Secret stocke les credentials
  1. Un DaemonSet déploie un agent sur chaque nœud
  2. Un ConfigMap configure l’agent
  3. Un Service expose les métriques
  1. Pods — comprendre l’unité d’exécution (mais ne jamais les créer seuls)

  2. Deployments — gérer le cycle de vie des applications sans état

  3. ReplicaSets — comprendre le mécanisme sous-jacent des Deployments

  4. Services — exposer et connecter les Pods

  1. ConfigMaps — externaliser la configuration non sensible

  2. Secrets — stocker les données sensibles

  3. Namespaces — organiser et isoler les ressources

  1. StatefulSets — déployer des bases de données et systèmes distribués

  2. DaemonSets — déployer des agents sur chaque nœud

  3. Jobs et CronJobs — automatiser les tâches ponctuelles et planifiées

Des exercices progressifs sont disponibles dans le dépôt containers-training :

  • 01-kubernetes-debutant/ — Pods, Services, Deployments
  • 02-kubernetes-intermediaire/ — ConfigMaps, Secrets, volumes
  • 03-kubernetes-avance/ — StatefulSets, DaemonSets, Jobs

Contrôle de connaissances

Validez vos connaissances avec ce quiz interactif

10 questions
8 min.
70% requis

Informations

  • Le chronomètre démarre au clic sur Démarrer
  • Questions à choix multiples, vrai/faux et réponses courtes
  • Vous pouvez naviguer entre les questions
  • Les résultats détaillés sont affichés à la fin

Lance le quiz et démarre le chronomètre

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracing. Aujourd'hui, ce site ne couvre même pas mes frais d'hébergement, d'électricité, de matériel, de logiciels, mais surtout de cafés.

Un soutien régulier, même symbolique, m'aide à garder ces ressources gratuites et à continuer de produire des guides de qualité. Merci pour votre appui.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn