Skip to main content

Docker Swarm

Qu'est-ce que Docker Swarm ?

Docker Swarm est une fonctionnalité de clustering et d'orchestration intégrée dans Docker Engine. Elle permet de connecter plusieurs machines hôtes Docker, appelées nœuds, pour travailler ensemble comme un seul et même cluster. Grâce à Docker Swarm, vous pouvez déployer, mettre à l'échelle et gérer des conteneurs à travers plusieurs nœuds Docker de manière transparente.

Qu'est-ce qu'un cluster Docker Swarm ?

Cluster : Un groupe de machines qui exécutent Docker et sont configurées pour joindre ensemble leurs ressources. Ces machines peuvent être des serveurs physiques, des VMs, ou une combinaison des deux.

Nœuds : Chaque machine dans un Swarm est appelée un "nœud", qui peut être un "manager" ou un "worker". Les nœuds "managers" gèrent la coordination du cluster et les tâches administratives, tandis que les nœuds "workers" exécutent les conteneurs et les applications.

Services et Tâches : Dans un Swarm, vous déployez des applications sous forme de "services", qui définissent l'état désiré de l'application. Un service est essentiellement une description de la tâche à exécuter, et le Swarm s'assure que le nombre désigné de répliques de cette tâche (conteneurs) est maintenu dans le cluster.

 

image.png

 

Utilité de Docker Swarm

Haute Disponibilité : Docker Swarm assure la haute disponibilité des applications en répliquant les conteneurs sur plusieurs nœuds du cluster. Si un nœud tombe en panne, Swarm peut automatiquement redémarrer les conteneurs sur d'autres nœuds disponibles, assurant ainsi que le service reste disponible.

Équilibrage de Charge : Swarm offre des fonctionnalités d'équilibrage de charge, permettant de distribuer les requêtes entrantes entre les différentes instances (répliques) d'un service, améliorant la performance et la disponibilité de l'application.

Mise à l'échelle : Avec Docker Swarm, vous pouvez facilement mettre à l'échelle les services en augmentant ou en diminuant le nombre de répliques d'un conteneur, sans interruption de service. Cela permet d'adapter les ressources utilisées en fonction de la demande.

Déploiement et Mise à Jour Sans Interruption : Swarm permet de déployer et de mettre à jour des applications sans temps d'arrêt grâce aux mises à jour progressives (rolling updates). Vous pouvez spécifier comment et quand les conteneurs sont mis à jour, en s'assurant que le service reste disponible pendant la mise à jour.

Découverte de Service et Réseau Overlay : Swarm fournit un réseau overlay qui connecte les conteneurs sur différents nœuds, permettant la communication inter-conteneurs comme s'ils étaient sur la même machine. La découverte de service intégrée permet aux conteneurs de se localiser et de communiquer par leurs noms de service.