Commencer avec le mode Swarm
Ce tutoriel vous présente les fonctionnalités du mode Swarm de Docker Engine. Vous pourriez vouloir vous familiariser avec les concepts clés avant de commencer.
Le tutoriel vous guide à travers :
- L'initialisation d'un cluster de Docker Engines en mode swarm
- L'ajout de nœuds au swarm
- Le déploiement de services d'application au swarm
- La gestion du swarm une fois que tout fonctionne
Ce tutoriel utilise les commandes CLI de Docker Engine saisies sur la ligne de commande d'une fenêtre de terminal.
Si vous êtes totalement nouveau à Docker, voir À propos de Docker Engine.
Configuration
Pour exécuter ce tutoriel, vous avez besoin de :
- Trois hôtes Linux qui peuvent communiquer sur un réseau, avec Docker installé
- L'adresse IP de la machine gestionnaire
- Ports ouverts entre les hôtes
Trois machines hôtes en réseau
Ce tutoriel nécessite trois hôtes Linux qui ont Docker installé et peuvent communiquer sur un réseau. Ceux-ci peuvent être des machines physiques, des machines virtuelles, des instances Amazon EC2, ou hébergées d'une autre manière. Consultez Déployer sur Swarm pour une configuration possible des hôtes.
Une de ces machines est un gestionnaire (appelé manager1
) et deux d'entre elles sont
des travailleurs (worker1
et worker2
).
NoteVous pouvez suivre de nombreuses étapes du tutoriel pour tester un swarm à nœud unique également, auquel cas vous n'avez besoin que d'un seul hôte. Les commandes multi-nœuds ne fonctionnent pas, mais vous pouvez initialiser un swarm, créer des services, et les mettre à l'échelle.
Installer Docker Engine sur les machines Linux
Si vous utilisez des ordinateurs physiques basés sur Linux ou des ordinateurs fournis par le cloud comme hôtes, suivez simplement les instructions d'installation Linux pour votre plateforme. Démarrez les trois machines, et vous êtes prêt. Vous pouvez tester à la fois les scénarios swarm à nœud unique et multi-nœuds sur les machines Linux.
L'adresse IP de la machine gestionnaire
L'adresse IP doit être assignée à une interface réseau disponible pour le système d'exploitation hôte. Tous les nœuds dans le swarm doivent se connecter au gestionnaire à l'adresse IP.
Parce que d'autres nœuds contactent le nœud gestionnaire sur son adresse IP, vous devriez utiliser une adresse IP fixe.
Vous pouvez exécuter ifconfig
sur Linux ou macOS pour voir une liste des
interfaces réseau disponibles.
Le tutoriel utilise manager1
: 192.168.99.100
.
Protocoles et ports ouverts entre les hôtes
Les ports suivants doivent être disponibles. Sur certains systèmes, ces ports sont ouverts par défaut.
- Port
2377
TCP pour la communication avec et entre les nœuds gestionnaires - Port
7946
TCP/UDP pour la découverte de nœuds de réseau overlay - Port
4789
UDP (configurable) pour le trafic réseau overlay
Si vous prévoyez de créer un réseau overlay avec chiffrement (--opt encrypted
),
vous devez également vous assurer que le trafic du protocole IP 50 (IPSec ESP) est autorisé.
Le port 4789
est la valeur par défaut pour le port de chemin de données Swarm, également connu comme le port VXLAN.
Il est important d'empêcher tout trafic non fiable d'atteindre ce port, car VXLAN ne
fournit pas d'authentification. Ce port ne devrait être ouvert qu'à un réseau de confiance, et jamais à un
pare-feu périmétrique.
Si le réseau que traverse le trafic Swarm n'est pas entièrement fiable, il est fortement suggéré que des réseaux overlay chiffrés soient utilisés. Si des réseaux overlay chiffrés sont utilisés exclusivement, un durcissement supplémentaire est suggéré :
- Personnaliser le réseau ingress par défaut pour utiliser le chiffrement
- N'accepter que les paquets chiffrés sur le port de chemin de données :
# Exemple de règle iptables (l'ordre et d'autres outils peuvent nécessiter une personnalisation)
iptables -I INPUT -m udp --dport 4789 -m policy --dir in --pol none -j DROP
Prochaines étapes
Ensuite, vous allez créer un swarm.