Pods : les plus petites unités
Découvrez les Pods, éléments fondamentaux de Kubernetes, et apprenez à les définir et à les gérer.
Pods : les plus petites unités est une leçon DevOps Bootcamp gratuite sur CoddyKit. Ceci est la leçon 2 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.
Qu’est-ce qu’un pod Kubernetes ?
Dans Kubernetes, la plus petite unité fondamentale que vous pouvez déployer est un pod. Imaginez un pod comme une « maison » qui contient un ou plusieurs conteneurs.
Les pods constituent une abstraction au-dessus des conteneurs. Ils représentent un processus en cours d’exécution dans votre cluster et encapsulent les conteneurs de l’application, les ressources de stockage, une adresse IP réseau unique et les options qui définissent la manière dont les conteneurs doivent s’exécuter.

Pod ou conteneur : quelle différence ?
Vous vous demandez peut-être : « Pourquoi ai-je besoin d’un pod si j’ai déjà des conteneurs ? » Voici la différence essentielle :
- Un conteneur (comme un conteneur Docker) est un paquet contenant une application et ses dépendances.
- Un pod est l’abstraction Kubernetes qui regroupe un ou plusieurs conteneurs et leur fournit des ressources partagées ainsi qu’une identité réseau unique.
Alors qu’un conteneur est l’exécutable réel, un pod est le moyen utilisé par Kubernetes pour gérer et orchestrer ces exécutables.
Pourquoi utiliser des pods ?
Les pods offrent plusieurs avantages essentiels :
- Espace de noms réseau partagé : tous les conteneurs d’un pod partagent la même adresse IP et les mêmes ports réseau. Ils peuvent communiquer entre eux en utilisant
localhost. - Stockage partagé : les pods peuvent partager des volumes de stockage, ce qui permet aux conteneurs d’un même pod d’accéder à des données communes.
- Colocalisation et planification conjointe : les conteneurs qui doivent travailler en étroite collaboration (par exemple, une application et un agent de journalisation) peuvent être assurés de s’exécuter sur le même nœud et sont toujours planifiés ensemble.
Anatomie de la définition d’un pod
Les pods sont définis à l’aide de fichiers de configuration YAML. Voici les principaux composants que vous trouverez :
apiVersion: indique la version de l’API Kubernetes (par exemple,v1).kind: le type d’objet Kubernetes, qui estPod.metadata: des informations telles que lenameet leslabelsdu pod.spec: l’état souhaité du pod, notamment lescontainersà exécuter, lesvolumeset d’autres paramètres.
Définir un pod à conteneur unique
La plupart des pods contiennent un seul conteneur. C’est courant pour les applications simples. Voici une définition YAML de base pour un pod exécutant un serveur web Nginx :
apiVersion: v1
kind: Pod
metadata:
name: my-nginx-pod
labels:
app: webserver
spec:
containers:
- name: nginx-container
image: nginx:latest
ports:
- containerPort: 80Déployer votre premier pod
Pour créer un pod à partir d’un fichier YAML, vous utilisez la commande kubectl apply. Elle indique à Kubernetes de créer ou de mettre à jour les ressources selon votre définition.
Supposons que vous enregistriez la définition précédente du pod Nginx sous le nom nginx-pod.yaml. Vous le déploieriez ainsi :
kubectl apply -f nginx-pod.yaml
Kubernetes planifiera ensuite l’exécution de ce pod sur l’un de ses nœuds de travail.
Inspecter les pods : obtenir et décrire
Une fois vos pods déployés, vous voudrez vérifier leur état. Voici deux commandes essentielles kubectl :
kubectl get pods: répertorie tous les pods de l’espace de noms actuel en affichant leur nom, leur état et leur nœud.kubectl describe pod <pod-name>: fournit des informations détaillées sur un pod spécifique, notamment les événements, l’état du conteneur et les ressources attribuées.
Ces commandes sont indispensables pour la surveillance et le dépannage.
Pods à plusieurs conteneurs : conteneurs auxiliaires
Bien que les pods à conteneur unique soient courants, certaines situations tirent parti des pods à plusieurs conteneurs. Un exemple classique est le modèle du conteneur auxiliaire.
Un conteneur auxiliaire s’exécute aux côtés du conteneur principal de votre application dans le même pod et effectue des tâches complémentaires telles que :
- la journalisation et la surveillance
- la synchronisation des données
- le relais du trafic réseau
Ils partagent le réseau et le stockage du pod, ce qui rend la communication efficace.
Exemple : pod à plusieurs conteneurs
Voici un exemple de pod à plusieurs conteneurs. Il contient un serveur web Nginx et un conteneur auxiliaire busybox qui écrit les journaux dans un volume partagé.
apiVersion: v1
kind: Pod
metadata:
name: multi-container-pod
spec:
volumes:
- name: shared-log-volume
emptyDir: {}
containers:
- name: web-server
image: nginx:latest
ports:
- containerPort: 80
volumeMounts:
- name: shared-log-volume
mountPath: /var/log/nginx
- name: log-writer
image: busybox:latest
command: ["/bin/sh", "-c", "while true; do echo 'Hello from sidecar!' >> /var/log/app.log; sleep 5; done"]
volumeMounts:
- name: shared-log-volume
mountPath: /var/log/appVérifiez vos connaissances sur les pods
Laquelle des affirmations suivantes sur les pods Kubernetes est TRUE ?
Récapitulatif : les pods, l’unité fondamentale
Vous venez d’en apprendre davantage sur les pods Kubernetes, les blocs fondamentaux de vos applications dans un cluster.
- Les pods encapsulent un ou plusieurs conteneurs et leur fournissent des ressources partagées.
- Ils offrent un réseau et un stockage partagés et garantissent la colocalisation des conteneurs associés.
- Vous définissez les pods à l’aide de YAML et les déployez avec
kubectl apply. kubectl get podsetkubectl describe podvous aident à les surveiller.
Nous allons maintenant découvrir d’autres commandes kubectl pour interagir avec votre cluster !
Questions Fréquemment Posées
La leçon « Pods : les plus petites unités » est-elle gratuite ?
Oui — le texte complet de « Pods : les plus petites unités » 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 « Pods : les plus petites unités » ?
Découvrez les Pods, éléments fondamentaux de Kubernetes, et apprenez à les définir et à les gérer. 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 2 sur 4.
Combien de temps prend la leçon « Pods : les plus petites unités » ?
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
- Architecture de Kubernetes
- Pods : les plus petites unités
- Commandes essentielles de kubectl
- Espaces de noms et étiquettes pour l’organisation