Partie 2 · Réseau et commandes
Overlay, tokens et commandes Swarm
En mode swarm, on n'utilise plus le driver bridge mais le driver overlay : un réseau qui s'étend sur plusieurs nœuds de manière transparente. Caractéristiques :
- tous les services ont un nom DNS propre (le cours cite
ping api-rest) ; - le trafic entrant est redistribué automatiquement sur les bons nœuds par les managers ;
- on atteint un service sans se soucier du nœud où il a été placé.
Vérifie que tu as compris
Initialiser le cluster
Les clusters se manipulent avec les sous-commandes docker swarm. À l'initialisation on obtient un token pour initialiser les autres nœuds. Docker génère deux tokens : un pour ajouter des managers, un pour ajouter des workers, récupérables avec join-token. docker info indique qu'on est en mode swarm ; docker node ls liste les nœuds.
docker swarm init docker swarm join-token worker docker swarm join --token <TOKEN> <IP-manager>:2377 docker node ls
Lecture (exemple ajouté ; les captures de commandes du diaporama ne sont pas dans l'extraction) : on initialise le swarm sur le premier nœud, on récupère le token pour les workers, on joint un autre nœud avec ce token, on liste les nœuds.
Vérifie que tu as compris
Gérer des services
Les services se créent et se gèrent avec docker service. On passe à l'échelle avec docker service scale. La mise à jour de l'image d'un service déclenche une rolling-update : les conteneurs sont mis à jour et redémarrés les uns après les autres, donc sans coupure totale.
docker service create --name api-rest --replicas 3 --network mon_overlay nginx docker service ls docker service scale api-rest=5 docker service update --image nginx:alpine api-rest
Lecture (exemple ajouté) : création d'un service api-rest avec 3 réplicas sur un réseau overlay ; liste des services ; passage à 5 réplicas ; mise à jour d'image avec rolling-update.
Vérifie que tu as compris
docker service scale api-rest=5 ?