[Docker] Swarm
Introduction
Docker Swarm permet de faire de la répartition de charge et de la HA dans vos infrastructures Docker.
Pour cela, on va mettre en place un cluster de noeuds avec des managers et des workers (masters/slaves).
Prérequis
- Avoir Docker installé sur tous les noeuds du cluster
Installation
Tout d'abord, rendez-vous sur votre Manager pour créer le cluster :
docker swarm init --advertise-addr <manager-IP>
Ensuite, il faut vous connecter sur chaque Workers pour les faire rejoindre votre cluster :
docker swarm join --token <TOKEN>
Le token a été affiché lors de la création du cluster sur le Manager.
Manuel
Afficher les membres du cluster
docker node ls
Déployer un conteneur dans le cluster
docker service create --name webserver -p 8080:80 nginx
Déployer une stack dans le cluster
docker stack deploy --compose-file compose.yml <STACK_NAME>
Afficher les services
docker service ls
Scale un service
docker service scale <SERVICE_NAME>=43
Supprimer une stack
docker stack rm <STACK_NAME>