
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é.
Pourquoi comprendre les ressources Kubernetes ?
Section intitulée « Pourquoi comprendre les ressources Kubernetes ? »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)
Ressources de base
Section intitulée « Ressources de base »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
Deployment
Section intitulée « Deployment »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
ReplicaSet
Section intitulée « ReplicaSet »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
Configuration
Section intitulée « Configuration »Ces ressources permettent de configurer vos applications et d'organiser votre cluster.
ConfigMap
Section intitulée « ConfigMap »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
Namespace
Section intitulée « Namespace »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
Ressources avancées
Section intitulée « Ressources avancées »Ces ressources répondent à des besoins spécifiques : applications avec état, agents système et tâches planifiées.
StatefulSet
Section intitulée « StatefulSet »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
DaemonSet
Section intitulée « DaemonSet »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
Job et CronJob
Section intitulée « Job et CronJob »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
Comment ces ressources travaillent ensemble
Section intitulée « Comment ces ressources travaillent ensemble »Application web classique (sans état)
Section intitulée « Application web classique (sans état) »- Un Namespace isole l'environnement
- Un Deployment crée et maintient les Pods applicatifs
- Un Service expose ces Pods sur le réseau interne
- Un ConfigMap fournit la configuration
- Un Secret injecte les identifiants
Application avec état (base de données)
Section intitulée « Application avec état (base de données) »- Un StatefulSet déploie les instances avec des identités stables
- Un Service headless permet la découverte individuelle de chaque pod
- Des PersistentVolumeClaims attachent le stockage à chaque instance
- Un Secret stocke les credentials
Infrastructure système (monitoring)
Section intitulée « Infrastructure système (monitoring) »- Un DaemonSet déploie un agent sur chaque nœud
- Un ConfigMap configure l'agent
- Un Service expose les métriques
Dans quel ordre apprendre ces ressources ?
Section intitulée « Dans quel ordre apprendre ces ressources ? »Niveau 1 : Ressources de base
Section intitulée « Niveau 1 : Ressources de base »-
Pods, comprendre l'unité d'exécution (mais ne jamais les créer seuls)
-
Deployments, gérer le cycle de vie des applications sans état
-
ReplicaSets, comprendre le mécanisme sous-jacent des Deployments
-
Services, exposer et connecter les Pods
Niveau 2 : Configuration
Section intitulée « Niveau 2 : Configuration »-
ConfigMaps, externaliser la configuration non sensible
-
Secrets, stocker les données sensibles
-
Namespaces, organiser et isoler les ressources
Niveau 3 : Ressources avancées
Section intitulée « Niveau 3 : Ressources avancées »-
StatefulSets, déployer des bases de données et systèmes distribués
-
DaemonSets, déployer des agents sur chaque nœud
-
Jobs et CronJobs, automatiser les tâches ponctuelles et planifiées
Travaux pratiques
Section intitulée « Travaux pratiques »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
Testez vos connaissances
Section intitulée « Testez vos connaissances »Contrôle de connaissances
Validez vos connaissances avec ce quiz interactif
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
Vérification
(0/0)Profil de compétences
Quoi faire maintenant
Ressources pour progresser
Des indices pour retenter votre chance ?
Nouveau quiz complet avec des questions aléatoires
Retravailler uniquement les questions ratées
Retour à la liste des certifications