Introduction au Pod

 

Illustration representing Kubernetes Pod deployment with YAML manifest
Sommaire

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"
Illustration of a Kubernetes Pod deployment using a YAML manifest file.

Ce manifest :

  • Déclare un Pod nommé nginx-pod.
  • Contient un conteneur nommé nginx-container basé sur l’image officielle nginx: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.
Exemple d'un fichier manifest YAML pour Kubernetes
Extrait d’un manifest YAML standard pour déployer un pod Kubernetes.

Conseils et bonnes pratiques

  • Validez toujours votre YAML avec kubectl apply --dry-run=client -f fichier.yaml avant 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é.