Partie 1 · Swarm
Docker Swarm : un cluster de moteurs Docker
Jusqu'ici tout tournait sur un seul hôte. En réalité, la plupart des applications sont déployées sur des clusters de machines. Questions du cours : comment gérer des déploiements Docker sur plusieurs hôtes ? Comment répartir la charge et éviter une maintenance lourde sur le cluster ?
Réponse intégrée à Docker : depuis Docker Engine 1.12, le mode swarm permet de gérer nativement un cluster de Docker Engines (un « swarm », essaim). On utilise directement l'outil docker pour créer et administrer le cluster, déployer les conteneurs et les passer à l'échelle.
Nœuds
| Nœud manager | Nœud worker |
|---|---|
| responsable du déploiement des applications ; répartit les conteneurs sur tous les nœuds ; gère les autres nœuds et la topologie (ajout, retrait) ; un leader est choisi parmi les managers | reçoit les ordres de déploiement de conteneurs ; aussi appelé nœud esclave |
Vérifie que tu as compris
Services et tâches
Swarm introduit la notion de service, proche de celle de Compose : un ensemble de conteneurs basés sur la même image. Deux modes d'exécution :
- Répliqué : on fixe le nombre de réplicas.
- Global : exactement un réplica par nœud.
Les services exécutent des tâches (des conteneurs). La tâche est l'unité atomique gérée par un cluster Swarm.
Vérifie que tu as compris