⚠️ Traduction non officielle - Cette documentation est une traduction communautaire non officielle de Docker.

Joindre des nœuds à un swarm

Lorsque vous créez un swarm pour la première fois, vous placez un seul Docker Engine en mode Swarm. Pour tirer pleinement parti du mode Swarm vous pouvez ajouter des nœuds au swarm :

  • Ajouter des nœuds travailleurs augmente la capacité. Lorsque vous déployez un service dans un swarm, le moteur planifie des tâches sur les nœuds disponibles qu'ils soient nœuds travailleurs ou nœuds gestionnaires. Lorsque vous ajoutez des travailleurs à votre swarm, vous augmentez l'échelle du swarm pour gérer les tâches sans affecter le consensus raft des gestionnaires.
  • Les nœuds gestionnaires augmentent la tolérance aux pannes. Les nœuds gestionnaires effectuent les fonctions d'orchestration et de gestion de cluster pour le swarm. Parmi les nœuds gestionnaires, un seul nœud leader conduit les tâches d'orchestration. Si un nœud leader tombe en panne, les nœuds gestionnaires restants élisent un nouveau leader et reprennent l'orchestration et la maintenance de l'état du swarm. Par défaut, les nœuds gestionnaires exécutent aussi des tâches.

Docker Engine rejoint le swarm selon le join-token que vous fournissez à la commande docker swarm join. Le nœud utilise uniquement le jeton au moment de rejoindre. Si vous faites par la suite tourner le jeton, cela n'affecte pas les nœuds swarm existants. Référez-vous à Exécuter Docker Engine en mode swarm.

Rejoindre comme nœud travailleur

Pour récupérer la commande de jonction incluant le jeton de jonction pour les nœuds travailleurs, exécutez la commande suivante sur un nœud gestionnaire :

$ docker swarm join-token worker

To add a worker to this swarm, run the following command:

    docker swarm join \
    --token SWMTKN-1-49nj1cmql0jkz5s954yi3oex3nedyz0fb0xx14ie39trti4wxv-8vxv8rssmk743ojnwacrr2e7c \
    192.168.99.100:2377

Exécutez la commande de la sortie sur le travailleur pour rejoindre le swarm :

$ docker swarm join \
  --token SWMTKN-1-49nj1cmql0jkz5s954yi3oex3nedyz0fb0xx14ie39trti4wxv-8vxv8rssmk743ojnwacrr2e7c \
  192.168.99.100:2377

This node joined a swarm as a worker.

La commande docker swarm join fait ce qui suit :

  • Bascule Docker Engine sur le nœud actuel en mode Swarm.
  • Demande un certificat TLS au gestionnaire.
  • Nomme le nœud avec le nom d'hôte de la machine.
  • Joint le nœud actuel au swarm à l'adresse d'écoute du gestionnaire basée sur le jeton swarm.
  • Définit le nœud actuel sur la disponibilité Active, ce qui signifie qu'il peut recevoir des tâches du planificateur.
  • Étend le réseau overlay ingress au nœud actuel.

Rejoindre comme nœud gestionnaire

Lorsque vous exécutez docker swarm join et passez le jeton gestionnaire, Docker Engine bascule en mode Swarm de la même façon que pour les travailleurs. Les nœuds gestionnaires participent aussi au consensus raft. Les nouveaux nœuds devraient être Reachable, mais le gestionnaire existant reste le Leader du swarm.

Docker recommande trois ou cinq nœuds gestionnaires par cluster pour implémenter la haute disponibilité. Parce que les nœuds gestionnaires du mode Swarm partagent des données en utilisant Raft, il doit y avoir un nombre impair de gestionnaires. Le swarm peut continuer à fonctionner aussi longtemps qu'un quorum de plus de la moitié des nœuds gestionnaires sont disponibles.

Pour plus de détails sur les gestionnaires swarm et l'administration d'un swarm, voir Administrer et maintenir un swarm de Docker Engines.

Pour récupérer la commande de jonction incluant le jeton de jonction pour les nœuds gestionnaires, exécutez la commande suivante sur un nœud gestionnaire :

$ docker swarm join-token manager

To add a manager to this swarm, run the following command:

    docker swarm join \
    --token SWMTKN-1-61ztec5kyafptydic6jfc1i33t37flcl4nuipzcusor96k7kby-5vy9t8u35tuqm7vh67lrz9xp6 \
    192.168.99.100:2377

Exécutez la commande de la sortie sur le nouveau nœud gestionnaire pour le joindre au swarm :

$ docker swarm join \
  --token SWMTKN-1-61ztec5kyafptydic6jfc1i33t37flcl4nuipzcusor96k7kby-5vy9t8u35tuqm7vh67lrz9xp6 \
  192.168.99.100:2377

This node joined a swarm as a manager.

En savoir plus