Aller au contenu principal

Chapitre 3.1 - Introduction aux Pods

Objectifs d'Apprentissage

À la fin de ce chapitre, vous serez capable de:

  • Comprendre ce qu'est un Pod
  • Expliquer pourquoi les Pods existent
  • Distinguer les Pods des conteneurs
  • Comprendre les cas d'usage des Pods multi-conteneurs

Qu'est-ce qu'un Pod?

Un Pod est la plus petite unité déployable dans Kubernetes. C'est un groupe d'un ou plusieurs conteneurs qui partagent:

  • La même adresse IP
  • Le même namespace réseau
  • Les mêmes volumes (stockage)
  • Le même namespace IPC

Pourquoi les Pods?

Abstraction au-dessus des Conteneurs

Kubernetes ne gère pas directement les conteneurs, mais les Pods:

Avantages:

  • Gestion de groupes de conteneurs
  • Partage de ressources
  • Cohérence réseau

Pods Mono-Conteneur

La plupart des Pods contiennent un seul conteneur:

apiVersion: v1
kind: Pod
metadata:
name: nginx-pod
spec:
containers:
- name: nginx
image: nginx:1.20

Pods Multi-Conteneurs

Un Pod peut contenir plusieurs conteneurs qui travaillent ensemble:

Cas d'Usage: Sidecar Pattern

apiVersion: v1
kind: Pod
metadata:
name: app-with-logger
spec:
containers:
- name: app
image: my-app:1.0
- name: logger
image: fluentd:latest

Exemples de sidecars:

  • Logging (Fluentd, Logstash)
  • Monitoring (Prometheus exporter)
  • Proxy (Envoy, nginx)
  • Synchronisation de fichiers

Communication Inter-Conteneurs dans un Pod

Les conteneurs dans un Pod communiquent via localhost:

Exemple:

# Dans le conteneur 1
curl http://localhost:8080 # Communique avec conteneur 2

Volumes Partagés

Les conteneurs dans un Pod partagent les volumes:

apiVersion: v1
kind: Pod
metadata:
name: shared-volume-pod
spec:
containers:
- name: writer
image: busybox
volumeMounts:
- name: shared-data
mountPath: /data
- name: reader
image: busybox
volumeMounts:
- name: shared-data
mountPath: /data
volumes:
- name: shared-data
emptyDir: {}

Résumé

Dans ce chapitre, vous avez appris:

Pod: Plus petite unité déployable, groupe de conteneurs
Ressources partagées: IP, réseau, volumes, IPC
Pods mono-conteneur: Cas le plus courant
Pods multi-conteneurs: Pour sidecars et conteneurs collaboratifs
Communication: Via localhost entre conteneurs d'un même Pod


Prochaines Étapes

Maintenant que vous comprenez les Pods:

Chapitre 3.2: Déclaration YAML des Pods
Lab 3.1: Création et Gestion de Pods


Chapitre créé le: Décembre 2024