Retour au blog

DockerKubernetesDevOpsConteneursOrchestrationHelm
Docker et Kubernetes : le guide DevOps 2026
Docker et Kubernetes : deux piliers du DevOps moderne
La conteneurisation a bouleversé la façon dont on déploie, met à l'échelle et exploite les applications. Docker standardise le packaging, Kubernetes orchestre l'exécution à grande échelle. Ce guide fait partie de notre série DevOps — pour la roadmap complète, voir Guide complet : devenir ingénieur DevOps.
1. Docker : packaging applicatif standardisé
Concepts essentiels
- Image : recette immuable (Dockerfile compilé en couches)
- Container : instance d'exécution d'une image
- Registry : dépôt d'images (Docker Hub, GHCR, Harbor, ECR)
- Volume : stockage persistant hors du cycle de vie du conteneur
Bonnes pratiques Dockerfile
- Multi-stage builds : réduire la taille finale de 70-90 %
- Images minimalistes : `distroless`, `alpine`, `scratch`
- Utilisateur non-root : `USER 1001`
- Scan de vulnérabilités : Trivy, Grype dans la CI
- Pin des versions : jamais `latest` en production
2. Kubernetes : l'orchestrateur de référence
Objets à maîtriser
- Pod : plus petite unité déployable (1 à N conteneurs partageant réseau/volumes)
- Deployment : gestion déclarative des pods (rolling updates, rollbacks)
- Service : abstraction réseau stable (ClusterIP, NodePort, LoadBalancer)
- Ingress : routage HTTP L7, TLS, virtual hosts
- ConfigMap / Secret : configuration externalisée
- StatefulSet : workloads stateful (bases de données)
- RBAC : contrôle d'accès (Roles, RoleBindings)
Helm : le package manager
Helm charts = templates Kubernetes paramétrables. Indispensable pour déployer PostgreSQL, Prometheus, cert-manager sans écrire 500 lignes de YAML à la main.3. Production-ready : ce qu'il faut ajouter
| Domaine | Outils recommandés |
|---|---|
| Ingress + TLS | ingress-nginx, Traefik, cert-manager, Let's Encrypt |
| Observabilité | Prometheus, Grafana, Loki, OpenTelemetry |
| GitOps | ArgoCD, Flux |
| Sécurité | OPA/Kyverno, Falco, Trivy Operator |
| Autoscaling | HPA, VPA, Cluster Autoscaler, KEDA |
4. Où faire tourner Kubernetes ?
- Local (labs) : `kind`, `minikube`, k3d
- Cloud managé : EKS (AWS), AKS (Azure), GKE (Google) — recommandé en production
- On-prem : Rancher (RKE2), OpenShift, k3s pour l'edge
Pièges classiques à éviter
- Déployer sans requests/limits CPU/mémoire → OOMKill imprévisibles
- Oublier les probes (liveness, readiness, startup) → trafic vers pods non prêts
- Stocker des secrets dans les images ou les repos Git → utiliser Sealed Secrets ou External Secrets
- Un cluster mono-zone en production → panne AZ = perte totale