Introduction au Pod

Introduction
Le déploiement d’un pod dans Kubernetes via un manifest YAML est une étape essentielle pour gérer les applications conteneurisées. Cet article détaille la structure d’un manifest, son rôle, et vous guide pas à pas dans la création d’un pod fonctionnel.
Comprendre le Pod Kubernetes
Un Pod est l’unité de base de déploiement dans Kubernetes. Il encapsule un ou plusieurs conteneurs, partageant stockage, réseau et spécifications du contexte d’exécution.
Le pod est éphémère ; en cas de défaillance, Kubernetes redéploie automatiquement un nouveau pod basé sur le manifest.
Le Manifest YAML pour le déploiement
Le manifest YAML décrit le pod à déployer : ses conteneurs, images, variables d’environnement, ports exposés, labels, annotations, etc. Ce fichier est appliqué au cluster avec kubectl apply -f.
Note importante : Le YAML doit respecter une indentation précise (2 espaces par niveau généralement). Une erreur d’indentation peut rendre le manifest invalide.
Exemple simple de commande pour lancer un pod :
kubectl apply -f mon-pod.yaml
Exemple complet de manifest YAML
Voici un manifest de pod minimaliste, déployant un conteneur nginx exposant le port 80 :
apiVersion: v1
kind: Pod
metadata:
name: nginx-pod
labels:
app: nginx
spec:
containers:
- name: nginx-container
image: nginx:latest
ports:
- containerPort: 80
env:
- name: ENVIRONMENT
value: "production"
resources:
limits:
memory: "128Mi"
cpu: "500m"
Ce manifest :
- Déclare un Pod nommé
nginx-pod. - Contient un conteneur nommé
nginx-containerbasé sur l’image officiellenginx:latest. - Expose le port 80, usuel pour un serveur web.
- Définit une variable d’environnement
ENVIRONMENTà « production ». - Fixe des limites de ressources CPU et mémoire.

Conseils et bonnes pratiques
- Validez toujours votre YAML avec
kubectl apply --dry-run=client -f fichier.yamlavant le déploiement. - Utilisez des labels clairs pour faciliter la gestion des pods.
- Définissez des ressources (CPU/mémoire) pour éviter toute utilisation excessive.
- Regardez les événements et logs du pod pour dépanner :
kubectl describe pod nginx-pod&kubectl logs nginx-pod. - Mettez en place des probes (readiness et liveness) dans les conteneurs pour gérer la santé.