Retour au cours

Leçon 29 : Introduction à l'Orchestration (Pourquoi Kubernetes/Swarm ?)

Docker, de zéro à héros : Le cours complet sur la conteneurisation pour débutants

Leçon 29 : Introduction à l'Orchestration (Pourquoi Kubernetes/Swarm ?)

Docker et Docker Compose sont d'excellents outils pour le développement et les déploiements à petite échelle. Cependant, la gestion des conteneurs dans un environnement de production à grande échelle introduit de nouvelles complexités qui nécessitent des outils d'Orchestration.

Le Problème de l'Orchestration

Imaginez exécuter votre application sur 10 ou 100 serveurs physiques ou virtuels (un cluster). Que se passe-t-il lorsque :

  1. Mise à l'Échelle (Scaling) : La demande augmente et vous devez lancer 50 nouveaux conteneurs immédiatement.
  2. Disponibilité : Un serveur tombe en panne et vous avez besoin que les conteneurs qui s'y exécutent soient instantanément redémarrés sur un serveur sain.
  3. Équilibrage de Charge : Le trafic doit être uniformément réparti sur les 50 instances de conteneurs.
  4. Mises à Jour : Vous devez déployer une nouvelle version sans interruption de service (mises à jour glissantes).

Docker Compose ne peut pas gérer ces défis sur plusieurs hôtes.

Introduction aux Orchestrateurs de Conteneurs

Les orchestrateurs sont des systèmes conçus pour automatiser le déploiement, la mise à l'échelle, la gestion et la mise en réseau des conteneurs.

Acteurs Clés :

  1. Kubernetes (K8s) : La norme de l'industrie, très complexe, puissant et indépendant du fournisseur.
  2. Docker Swarm : L'outil d'orchestration natif de Docker, plus simple, intégré directement au moteur Docker.

Concepts Fondamentaux de l'Orchestration

  • Cluster : Un groupe de machines hôtes (nœuds) gérées par l'orchestrateur.
  • Ordonnancement (Scheduling) : Décider sur quel nœud un conteneur (ou 'Pod' dans K8s) doit s'exécuter, en fonction de la disponibilité des ressources.
  • Auto-Réparation (Self-Healing) : Si un conteneur échoue, l'orchestrateur le détecte et en redémarre automatiquement un nouveau.
  • Découverte de Services : Mécanismes intégrés permettant aux services de se trouver mutuellement à travers le cluster.

Passer de docker run à docker compose a été une progression ; passer de Compose à Kubernetes est l'étape ultime vers le déploiement de niveau entreprise.